1

我无法为以下内容提出正确的 jQuery 选择器。

$(this) 

相当于

<div class="rating-edit" title="Click to edit...">edit rating</div>

HTML

<p class="r-m"><span class="s5"></span></p>

<div class="rating-edit" title="Click to edit...">edit rating</div>

我想要做的是定位段落类中的s5跨度,但后面的数字可以是任何数字,所以我不能根据它的实际类名来定位它。r-ms

这是我尝试过的:

$(this).siblings('.r-m').child('span').removeClass().addClass('s'+value);

但它似乎不起作用。

4

5 回答 5

2

尝试

$(this).siblings('p.r-m').find('span').attr('class', '').addClass('s'+value);
于 2012-10-10T15:07:14.133 回答
1

没有 jQuery .child。我想你的意思是.children

http://jsfiddle.net/rtgAn/

于 2012-10-10T15:04:38.250 回答
1
$(this).siblings('.r-m').children().first().removeClass().addClass('s'+value);
于 2012-10-10T15:05:19.610 回答
1

$('span', this).removeClass().addClass('s'+value);

于 2012-10-10T15:07:42.717 回答
1

您可以使用“开始于”选择器:

.find("[class^=s]")

演示

于 2012-10-10T15:07:48.777 回答