<div id="foo">
FOO
</div>
<div id="nextfoo"></div>
如何從一個$('#foo').each()...
功能選擇#nextfoo它,如果它不存在,然後創建它?選擇元素的特定元素後匹配ID,或創建它,如果不存在
<div id="foo">
FOO
</div>
<div id="nextfoo"></div>
如何從一個$('#foo').each()...
功能選擇#nextfoo它,如果它不存在,然後創建它?選擇元素的特定元素後匹配ID,或創建它,如果不存在
var nextFoo= $('#nextfoo');
if (!nextFoo.length){
nextFoo=$('<div id="nextfoo"/>').insertAfter('#foo');
}
你的意思是這樣的嗎?
所有IDS首先應該是一個給定的網頁上是唯一的。所以沒有必要在$(「#foo」)上有each
循環
您可以使用jQuery next
方法獲取下一個元素(#nextfoo)。如果它不存在,則可以使用jQuery after
方法插入它。試試這個
if(!$("#foo").next().is('#nextfoo')){
$("#foo").after('div id="nextfoo" />');
}
else{//It exists
var nextfoo = $("#foo").next();
}
正如其他人所說,每個id應該是唯一的。所以,如果是這樣的結構,你正在尋找有反覆......
<div class="foo"></div>
<div class="nextfoo"></div>
...你是你的「的Foo」後丟失了一些「nextfoo」類,那麼你可以這樣做以下:
$('.foo').each(function() {
if (!$(this).next().hasClass('nextfoo')) {
$(this).after('<div id="nextfoo">nextfoo 2</div>');
}
});
的這個動作Here is a demo。
一個頁面上的元素的ID必須是唯一的,你應該不應該有'ID =「foo」的'多個元素。你應該使用'class =「foo」'和$('。foo')。each()'而不是 –
你想在foo內尋找nextfoo嗎?如果它不存在你想在foo或foo之後放置nextfoo的位置? –