繁体   English   中英

如何使选择器查找类和data-id = X

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM