我正在處理別人的javascript代碼,並且運行了一些我以前沒見過的東西。如果有人能爲我提供一些啓示,我會非常感激。 我已經在過去使用JavaScript,但我不是專家。
1)一些控件可以使用美元符號($)符號從JavaScript內部訪問,就像JQuery一樣。我有些困惑,因爲腳本語言明確指定爲javascript,而不是JQuery,並且項目中沒有JQuery庫。我不知道這是否是一種常見做法?
<script type="text/javascript">
function select1_onchange()
{
$('Button1').style.display = (this.value == "No" ? 'block' : 'none');
$('OptionsBox').style.display = (this.value == "Yes" ? 'block' : 'none');
}
</script>
2)第2的事情是,在上面的代碼中,關鍵字this
似乎是指調用腳本對象,同時在當前上下文中的JavaScript解釋this
和window
對象。這使這個代碼無效。 我應該替換this.value
與$('Button1').value
或document.getElementById('Button1')
(或document.getElementsByName('Button1')[0]在這種特殊情況下,因爲開發人員使用name
屬性而不是id
)?哪一個會更有效率?或者另一種選擇 - 我應該將關鍵字this
傳遞給函數,然後用輸入變量替換this
?
<script type="text/javascript">
function select1_onchange(mySelect)
{
$('Button1').style.display = (mySelect.value == "No" ? 'block' : 'none');
$('OptionsBox').style.display = (mySelect.value == "Yes" ? 'block' : 'none');
}
</script>
,並稱呼其爲:
<select name="select1" onchange="select1_onchange(this)">
<option selected value="">Select</option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
什麼會選擇這兩種方法的優點和缺點?
你必須找出'$'是什麼。 jQuery是JavaScript,'type =「text/javascript」'是不需要的。 – elclanrs
jQuery **是** Javascript。每當你看到jQuery,那就是Javascript代碼。他們只是使用jQuery庫。這就像說「那裏有燻肉,所以它不能成爲漢堡。」它仍然是一個漢堡,你只是增加了培根。 –
從它的外觀他定義$作爲getElementById的快捷方式,是'Button1'和'OptionsBox' ID? –