Jquery 检查元素或html标记是否存在
我有一个javascript树,用户在其中选择一个树节点并单击一个按钮,然后在所选树节点旁边附加一个图标Jquery 检查元素或html标记是否存在,jquery,Jquery,我有一个javascript树,用户在其中选择一个树节点并单击一个按钮,然后在所选树节点旁边附加一个图标 $j("li[name='"+node_name+"'] > a").append('<a style="cursor:default;"><ins class="' + icon_class + '"> </ins></a>'); 以下是该树中一个节点的源代码: <li node_id="4" name="ma
$j("li[name='"+node_name+"'] > a").append('<a style="cursor:default;"><ins class="' + icon_class + '"> </ins></a>');
以下是该树中一个节点的源代码:
<li node_id="4" name="mars" >
<ins class="jstree-icon"> </ins>
<a href="#" class="jstree-clicked"><ins class="jstree-icon"> </ins> Mars Planet
<a style="cursor: default;"><ins class="pattern-icon3"> </ins></a> <!--this line displays the icon-->
<a style="cursor: default;"><ins class="pattern-icon3"> </ins></a> <!--this line displays the same icon again-->
</a>
</li>
.
.
.
.
.
.
下面是我用来将图标附加到树节点旁边的代码
$j("li[name='"+node_name+"'] > a").append('<a style="cursor:default;"><ins class="' + icon_class + '"> </ins></a>');
$j(“li[name=”+node_name+“']>a”).append(“”);
图标显示正确
我的问题是:
我只需要显示一次特定的图标。
当前,当用户选择一个节点并单击按钮两次时,将在该选定节点旁边附加两个图标
是否有方法检查在添加节点名称之前是否已将
追加到节点名称旁边?您可以尝试选择.pattern-icon3
元素并检查结果对象的属性。如果元素不存在,length
将为0
。如果它确实存在,它将大于0
:
if($j("li[name='" + node_name + "'] > a .pattern-icon3").length) {
//Already exists!
}
您可以尝试选择
.pattern-icon3
元素并检查结果对象的属性。如果元素不存在,length
将为0
。如果它确实存在,它将大于0
:
if($j("li[name='" + node_name + "'] > a .pattern-icon3").length) {
//Already exists!
}
如果要检查html是否存在:
if ($('#selector').length > 0){
alert('tag exists');
}
如果要检查html是否存在:
if ($('#selector').length > 0){
alert('tag exists');
}
只有在匹配失败时,才能尝试将元素与匹配并附加它:
var listItemLink = $j("li[name='" + node_name + "'] > a");
if (!listItemLink.find("." + icon_class).length) {
listItemLink.append('<a style="cursor:default;"><ins class="'
+ icon_class + '"> </ins></a>');
}
var-listItemLink=$j(“li[name=”+node_name+“]>a”);
如果(!listItemLink.find(“.”+icon\u class).length){
listItemLink.append(“”);
}
只有在匹配失败时,才可以尝试将元素与匹配并附加它:
var listItemLink = $j("li[name='" + node_name + "'] > a");
if (!listItemLink.find("." + icon_class).length) {
listItemLink.append('<a style="cursor:default;"><ins class="'
+ icon_class + '"> </ins></a>');
}
var-listItemLink=$j(“li[name=”+node_name+“]>a”);
如果(!listItemLink.find(“.”+icon\u class).length){
listItemLink.append(“”);
}
只是个想法,但也许你可以用一下
只是个主意,但也许你可以用
与问题无关,但是
的这种用法并不是真正的语义。如果您想要一个样式化的连字符/减号,请使用连字符。非常感谢您的建议,但是我使用Jstree从json文件生成树,并且标记是由Jstree自己创建的,与问题无关,但是使用
并不是真正的语义。如果您想要一个样式化的连字符/减号,请使用连字符。非常感谢您的建议,但是我使用Jstree从json文件生成树,标记由Jstree本身创建