我正在嘗試創建一個循環(或使用.each
)來更改許多DOM元素的style:display
屬性。我最初的想法是使用getElementsByName
選擇所有我叫的元素:使用更改多個元素的樣式
var TextElements = document.getElementsByName("ptext1");
<p id="ptext0"name="ptext">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="ptext1"name="ptext1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="ptext2"name="ptext1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="ptext3"name="ptext1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="ptext4"name="ptext1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="ptext5"name="ptext1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="ptext6"name="ptext1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
爲了讓所有的元素與名稱的對象/數組
但我無法正常工作,所以我搬到了.each
。
兩個
$.each(TextElements, function (index) {
this.style.display="none";
});
和
$('td[name=ptext1]').each(function (index) {
this.style.display="block";
});
似乎沒有正常工作(我已經是否運行使用警報測試)。
現在,如果任何人都可以看到我的錯誤在哪裏,或者建議一個更好的方法,我全都是耳朵。這應該是一個簡單的操作,但由於某種原因,每次嘗試時都會失敗。
編輯: $('p[name=ptext1]').hide()
和$('p[name=ptext1]').show()
,不同的是.hide()也隱藏我想隱藏的那些上面的行工作,
<p id="ptext0"name="ptext">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
每一行都有不同的ID標籤,但我想使用名稱標籤來跟蹤哪些我想隱藏,但應該保留的行(name =「ptext」)也被隱藏。
可能被複制/粘貼錯誤,但你'name'屬性之前沒有空間,這一定會按屬性(除了事實影響選擇的工作'name'沒有嚴格有效的對'p'元件)。 – Jamiec