[英]How to make selector that find class and data-id=X
<ul>
<li id="RadListBox1_i2" class="rlbItem ui-draggable">
<div class="ui-draggable ui-state-default" data-shortid="1007">
<em>ProductId: </em>
<span>110-01-070-10</span>
<br>
<em>ShortID: </em>
<span class="ShortID" data-shortid="1007">1007</span>
<br>
<em>Product Name: </em>
<span>Clearly Retro Style Colour Name Necklace</span>
<br>
<em>
</div>
</span>
</li>
<li id="RadListBox1_i3" class="rlbItem ui-draggable">
<li id="RadListBox1_i4" class="rlbItem ui-draggable">
</ul>
我需要构建选择器来查找包含id = X的元素,并通过.draggable('disable');
禁用此项目.draggable('disable');
有人这样想:
找到y类,其中data-shortid=X
并使它
$("ul li").find(".ShortID").attr("data-shortid="+X+).draggable('disable');
答:
$("span.ShortID[data-shortid="+ShortId+"]").parents("li:first").draggable("disable");
您需要禁用li而不是span,因此需要找到父级:
$("span.ShortID[data-shortid=1007]").parents("li").draggable("disable");
使用此代码:
$("ul li.ShortID[data-shortid="+X+"]").draggable('disable');
编辑:
var obj = $("ul li span.ShortID");
var ids = obj.attr("data-shortid");
if(ids == X) {
obj.draggable('disable');
}
$(".ShortID[data-shortid=1007]")
上面的代码将返回具有class =“ ShortID”和属性data-shortid =“ 1007”的元素
选择元素后,您可以使用它进行任何操作。
试试这个( jQuery属性等于选择器 ):
$("ul li .ShortID[data-shortid='"+X+"']").draggable('disable');
从JQuery文档中 :
$( ",someclass[data-id='yourid']" ).dosomething();
$("ul li").find(".ShortID").attr("data-shortid="+X+).draggable('disable');
将查找具有类.ShortID的ul内部的所有元素。 通过属性和值来获取元素。 你可以做
$("div[data-shortid=" + x );
请注意,在您的示例中,必须使用具有相同ID的div。
http://api.jquery.com/attribute-equals-selector/
顺便说一句。 像您的示例一样,继续使用find嵌套更深,这将有助于提高性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.