2

如果我有这个:

<span data-helo="1">something</span>
<span data-helo="2">something different</span>

我想定位第一个跨度,我该怎么做?

我试过类似的东西:

$('span').data('helo', '1')

但它返回了两个跨度。

4

4 回答 4

5

尝试:

$('span[data-helo="1"]')

这将针对所有span具有data-helovalue属性的元素1

http://jsfiddle.net/F2NUk/

使用您的代码:

$('span').data('helo', '1')

您的目标是所有span-elements 并将它们的data-helo属性设置为1. 然后返回该集合(通过典型的 jQuery 链接)。

于 2012-07-11T11:21:37.523 回答
1

试试这个,

现场演示

作业

$('span').attr('data-helo', '2');

供选择

$('span[data-helo=2]')

​</p>

于 2012-07-11T11:17:34.683 回答
1

你可以尝试eq()data()方法:

$('span:eq(0)').data('helo'); // returns "1"
$('span:eq(1)').data('helo'); // returns "2"

如果要按属性选择元素,可以使用属性选择器:

$('span[data-helo="1"]') // selects spans which has attribute "data-helo" and it's value is "1" 
$('span[data-helo="2"]')

或者:

$('span[data-helo]:eq(0)') // first span element that has a data-helo attribute
$('span[data-helo]:eq(1)') // second span element that has a data-helo attribute

http://api.jquery.com/category/selectors/

于 2012-07-11T11:20:05.433 回答
1

我想这就是你想要的

 $('span[data-helo=1]')
于 2012-07-11T11:21:19.053 回答