我有一個有多行的表,每行的第一列包含一個按鈕。每行中的此按鈕需要根據該行其他列中的數據執行一些常見操作。在html/js中具有相同id的多個標記
建議爲所有按鈕指定一個通用的「id」,因爲它們將在點擊時調用相同的功能,只是使用不同的參數。 或 我應該爲這些按鈕分配一個自定義類,然後對於具有該自定義類的所有標記,而不是使用「id」,我可以定義onclick行爲?
哪種方法更好的被接受的做法?
我有一個有多行的表,每行的第一列包含一個按鈕。每行中的此按鈕需要根據該行其他列中的數據執行一些常見操作。在html/js中具有相同id的多個標記
建議爲所有按鈕指定一個通用的「id」,因爲它們將在點擊時調用相同的功能,只是使用不同的參數。 或 我應該爲這些按鈕分配一個自定義類,然後對於具有該自定義類的所有標記,而不是使用「id」,我可以定義onclick行爲?
哪種方法更好的被接受的做法?
要分配一個常見的操作,我會爲每個按鈕分配一個特定的類並保持它們的唯一ID。除非我錯了,否則我認爲使用相同的ID兩次是不好的做法,因爲它們應該被用來唯一標識一個元素。如果您爲每個按鈕分配相同的類,則可以輕鬆使用jQuery來查找所有這些按鈕併爲其分配處理程序。
使用這樣的一個類。
<button class="someCommonClassName"></button>
你應該去上課,或者您可以使用名稱屬性
<button name="common name" onclick="CommonFunction();"></button
這肯定不建議使用同一個ID爲元素的JavaScript將返回的第一個項目。 例
<p id="same-id">Shirts</p>
<p id="same-id">Pants</p>
與JavaScript的選擇將目標與襯衫段落只有
但是,您可以使用類或數據的屬性更多的語義標記,像這樣:
使用類
<p class="same-class">Shirts</p>
<p class="same-class">Pants</p>
使用數據屬性
<p data-attribute_name="some_value">Shirts</p>
<p data-attribute_name="some_value">Pants</p>
然後使用jQuery你可以使用$('[data-attribute_name]="value"');
或使用JavaScript,你可以從this問題
使用類似的方法不能使用普通'id'屬性,因爲他們都必須是獨一無二,所以使用'class'是唯一的出路。 –
'id'在每個'html'標記中必須是唯一的,最好的做法是爲它創建一個類/ –