jQuery多属性选择器

jQuery多属性选择器,jquery,jquery-selectors,find,Jquery,Jquery Selectors,Find,我有这根绳子 $html = "`<li class="A" test_id=".0.1.$111"> ... <li class="A" test_id=".0.2.$222">`" 有人知道怎么回事吗 谢谢属性选择器的语法不正确,您不需要value=。还有一种特定的语法用于按类选择:。试试这个: $(html).find(".A[test_id='.0.1.$111']"); 请注意,向HTML添加非标准属性是无效的,您应该在它们前面加上data-: $html

我有这根绳子

$html = "`<li class="A" test_id=".0.1.$111">
...
<li class="A" test_id=".0.2.$222">`"
有人知道怎么回事吗


谢谢

属性选择器的语法不正确,您不需要
value=
。还有一种特定的语法用于按类选择:
。试试这个:

$(html).find(".A[test_id='.0.1.$111']");
请注意,向HTML添加非标准属性是无效的,您应该在它们前面加上
data-

$html = '<li class="A" data-test-id=".0.1.$111"><li class="A" data-test-id=".0.2.$222">';
var $li = $(html).find(".A[data-test-id='.0.1.$111']");
$('.A[test_id=“.0.1.$111”]).addClass('selected')
。所选{颜色:红色}

    测试 测试
您正在使用PHP吗?如果是这样,您的
.0.1.$111
值将返回一个PHP错误,因为变量名不能以数字字符开头:
$111
不好<代码>$\u 111
很好
$html = '<li class="A" data-test-id=".0.1.$111"><li class="A" data-test-id=".0.2.$222">';
var $li = $(html).find(".A[data-test-id='.0.1.$111']");
$(html).find('.A').filter(function() {
    return $(this).data('test-id') == '.0.1.$111';
});