这个选择器在jquery中做了什么?

时间:2015-10-29 18:56:58

标签: jquery

这个选择器在jquery中做了什么:

$('tr[parents*=x'+1111014+'x]');

由于

4 个答案:

答案 0 :(得分:9)

它将选择以下形式的任何元素:

<tr parents='asdfsx1111014xasdfsa' >
<tr parents='x1111014xasdfsa' >
<tr parents='asdfsx1111014x' >
<tr parents='x1111014x' >

基本上所有tr标记都带有parents属性。 parents属性应包含以下内容:x1111014x

请参阅jQuery select-contains上的documentation

答案 1 :(得分:5)

让我们分解它;

  • tr将选择所有<tr>元素。
  • [parents]将选择属性为parents
  • 的所有元素
  • *= contains 选择器,它会对以下字符串进行匹配。

因此,选择器'tr[parents*=x1111014x]'将选择页面上具有包含字符串tr的属性的所有x1111014x元素。

例如:

<tr parents="xxxx1111014xxxxxx">

答案 2 :(得分:4)

这是Attribute Contains Selector [name*=”value”]。这意味着查找包含属性parents的所有tr元素,其中包含&#39; x1111014x&#39;

正如@PeterKA指出*=用于选择元素属性。 https://api.jquery.com/attribute-contains-selector/

@JosephMarikle在评论中提到&#39;包含&#39;表示选择器值的任何部分都可以包含&#39; x1111014x&#39;。因此,此选择器会匹配以下所有内容:'x1111014x''FOOx1111014xBAR''FOOx1111014x''x1111014xBAR'

答案 3 :(得分:4)

分解(为了便于理解):

'tr[parents*=x'+1111014+'x]'

  • tr<tr>代码。
  • []方括号表示属性选择器(例如classstyle等)
  • parents是要查找的属性
  • *=表示属性值must contain the following string
  • x'+1111014+'x将等同于字符串"x1111014x"

所以,全部,它会查找tr标记,其中包含属性parents,其中包含字符串x1111014x

匹配元素的一些例子是:

<tr parents="x1111014x">
    <td>Hello World</td>
</tr>

<tr parents="helloworldx1111014x">
    <td>Hello World</td>
</tr>

<tr parents="hello x1111014x world">
    <td>Hello World</td>
</tr>