在我的代码中,当用户点击特定元素时,我将以下html附加到List Item。
<span class="greenCheckMark"></span>
使用jQuery,我如何检测元素是否存在,如果存在,不添加另一个绿色复选标记?
$('.clickedElement').live('click',function(){
//does the green check mark exist? if so then do nothing, else
$('#listItem).append('<span class="greenCheckMark"></span>');
});
答案 0 :(得分:12)
$('#listItem:not(:has(.greenCheckMark))')
.append('<span class="greenCheckMark"></span>');
答案 1 :(得分:1)
你可以找一下吗?
($('.greenCheckMark', '#listItem').length > 0) ? /* found green check mark in #listItem */ : /* not found */ ;
编辑:修正了与问题“不相关”的问题。
答案 2 :(得分:0)
$('.clickedElement').live('click',function(){
//does the green check mark exist? if so then do nothing, else
if($("#listItem span.greenCheckMark").length != 0)
{
$('#listItem').append('<span class="greenCheckMark"></span>');
}
});
好的,经过一些编辑,这应该是你正在寻找的。 p>
$("#listItem span.greenCheckMark").length != 0
将返回一个JQuery对象数组,如果该区域的长度不等于0则存在。确保您专门检查要检查的位置,($("span.greenCheckMark").length
将检查整个文档的绿色复选标记。)
答案 3 :(得分:0)
根据您的要求,只有在<span>
尚未包含#listItem
<span>
class
greenCheckMark
的情况下,才会附加var listItem = $('#listItem');
if ( !listItem.find('span.greenCheckMark')[0] ) {
listItem.append('<span class="greenCheckMark"></span>');
}
{{1}}