jquery复杂选择器类+属性

jquery复杂选择器类+属性,jquery,jquery-selectors,Jquery,Jquery Selectors,我需要找到类为MyClass1的元素,它具有属性号。我的尝试是: $(".MyClass1[number=" + userId + "]") 但它不起作用。我的错在哪里 <tr class = "Myclass2"> <td> <a href="#" number="5" title="checkselector" class="MyClass1">blablabla=)</a> </t

我需要找到类为MyClass1的元素,它具有属性号。我的尝试是:

 $(".MyClass1[number=" + userId + "]") 
但它不起作用。我的错在哪里

 <tr class = "Myclass2">
    <td>
     <a href="#" number="5" title="checkselector" class="MyClass1">blablabla=)</a>           
    </td>
 </tr>
这有两个方面:

你在匹配什么

如果您只是想知道它有一个属性,而不是设置为特定的值,请禁用=和值:

$(".MyClass1[number]") 
它将匹配任何具有number属性的元素以及该行代码运行时存在的类MyClass1

从您的编辑中,听起来好像您正在尝试匹配特定的数字。假设userId包含12:

…那么您的代码就可以了:

$(".MyClass1[number=" + userId + "]") 
…因为这意味着:

$(".MyClass1[number=12]") 
可以在值周围加引号,但只有在值包含空格或其他几个非字母数字字符时才需要加引号。如果你知道它是一个数字,所以只包含数字,那么它们是不必要的

当你匹配它的时候

前面我说过,当代码行运行时,它会将任何元素与…匹配。这很重要。如果代码位于元素上方的脚本块中,它将找不到它,因为元素尚不存在:

<!-- Doesn't work -->
<script>
    $(".MyClass1[number=12]").css("color", "green");
</script>
<!-- ... -->
<a href="#" number="12" title="@Resources.Appoint" class="MyClass1">Joe BLoggs</a>
…也可以缩短为:

$(function() {
    // ...your code here...
});
这有两个方面:

你在匹配什么

如果您只是想知道它有一个属性,而不是设置为特定的值,请禁用=和值:

$(".MyClass1[number]") 
它将匹配任何具有number属性的元素以及该行代码运行时存在的类MyClass1

从您的编辑中,听起来好像您正在尝试匹配特定的数字。假设userId包含12:

…那么您的代码就可以了:

$(".MyClass1[number=" + userId + "]") 
…因为这意味着:

$(".MyClass1[number=12]") 
可以在值周围加引号,但只有在值包含空格或其他几个非字母数字字符时才需要加引号。如果你知道它是一个数字,所以只包含数字,那么它们是不必要的

当你匹配它的时候

前面我说过,当代码行运行时,它会将任何元素与…匹配。这很重要。如果代码位于元素上方的脚本块中,它将找不到它,因为元素尚不存在:

<!-- Doesn't work -->
<script>
    $(".MyClass1[number=12]").css("color", "green");
</script>
<!-- ... -->
<a href="#" number="12" title="@Resources.Appoint" class="MyClass1">Joe BLoggs</a>
…也可以缩短为:

$(function() {
    // ...your code here...
});

您缺少以下引用:

 $(".MyClass1[number='" + userId + "']") 

您缺少以下引用:

 $(".MyClass1[number='" + userId + "']") 

您可以发布您试图从中选择的HTML吗?您确定userId的值正确吗?你所拥有的应该有用。也许可以分享更多的代码?number=userId-Uhm?哦,对不起@userId是它的asp。net@AntonKozlovsky:发布您匹配的HTML。number=@userid不是HTML,而是ASP。它实际上是一个数字吗?例如,number=42?您可以发布您试图从中选择的HTML吗?您确定userId的值正确吗?你所拥有的应该有用。也许可以分享更多的代码?number=userId-Uhm?哦,对不起@userId是它的asp。net@AntonKozlovsky:发布您匹配的HTML。number=@userid不是HTML,而是ASP。它实际上是一个数字吗?例如,number=42?除非ID中有空格或类似空格,否则不需要引号。除非ID中有空格或类似空格,否则不需要引号。对不起,有点不正确的问题=是数字5,例如抱歉,有点不正确的问题=是数字5,例如