我有一些ID爲「div1」,「div2」...「divx」的DIV。我想對他們進行操作。有什麼方法可以獲得元素ID。包含「div」。任何其他想法?使用jQuery獲取HTML元素
回答
$("div[id^='div']")
以上將抓住這有一個id
屬性以字母div
開始的所有div。
jsFiddle example that makes all divs with id div...
invisible.
下面是如何,如果你想匹配div
後跟一個數字,但並不div
其次是別的東西處理棘手的情況。所以div1
會匹配,但divx
不會。
在這種情況下,我們使用filter()一個函數。該函數應該在我們想要匹配時返回true,而在我們不需要時返回false。 match()和正則表達式是爲這個偉大的(你可以用[0-9]
來表示一個正則表達式的數字的簡單[\d]
):
$("div").filter(function() {
return $(this).attr("id").match(/^div[\d]+$/)
})
attr()返回指定屬性的值,在這種情況下id
。
你可以使用這個(我還沒有測試,雖然它):
jQuery("div[id^='div']")
這會得到有id
開始以 「格」 的所有div
元素。
如果您想讓所有有含 「格」 的id
,那麼你可以使用這個div
元素:
jQuery("div[id*='div']")
使用的ID喜歡DIV1,DIV2,DIV3是一種不好的做法。這就像命名你的類「black-bold-12px」,然後將這些樣式分配給該類。它忽略了語義上的觀點。
這樣做的正確方法是使用所有這些類。
元素可以是多個類的,用一個空格作爲分隔符:
<div class="something usethis">...</div>
<div class="usethis something_else">...</div>
<div class="usethis">...</div>
<div class="something anotherclass usethis" id="someId">...</div>
<script>
$(".usethis").html("New contents for all of them!");
</script>
其他答案回答這個問題,但這是正確的答案 – 2010-08-12 04:48:01
如果你有一系列的帖子,像'post-1','post-23'等ID是唯一的通用帖子標識符似乎是完全合法的,語義信息豐富......但是,如果可能的話,與經過深思熟慮的課程合作肯定更容易。----但是,對於語義良好的頁面,外部Javascript優於使用
彼得的出色答卷的是完全正確的,*最好*要做的事情是添加的「mydivs」一類或什麼(在HTML中)給所有這些div,所以你可以按類選擇它們。這就是班級存在的原因,以便像項目一樣分組。 :) – 2010-08-12 06:29:22