2012-05-12 58 views
1

我有一个类为“report-standard-alternatingrowcolors”的表,element_id是tr元素的id。在选择器的末尾,我想选择具有属性选择器的td元素。 “.data”是td元素的类。但没有奏效。它选择所有的td值。你有什么主意吗?带ID和类选择器的JQuery属性选择器

alert($('.report-standard-alternatingrowcolors #element_id .data[headers="STATE"]').val()); 

您可以检查从: http://jsfiddle.net/BscPP/

回答

3

http://jsfiddle.net/BscPP/1/

这里亚去。您在报价单内没有主要的report-standard...,因此无法使用。你也正在让选择器变得很多。在提供的例子中,所有需要的是使用.data[headers="STATE"]并使用.text()代替.val()

+0

在他的例子中,是的。但是在他的真实代码中,他可能有更多匹配'.data [headers =“STATE”]'的元素。 –

1
$('#element_id td.data[headers="STATE"]', '.report-standard-alternatingrowcolors').text() 

FIDDLE

2

您的示例有几个问题。

您加载了MooTools而不是jQuery。

您的HTML代码是错误的。

<table class=""report-standard-alternatingrowcolors> 

你需要把类引号

<table class="report-standard-alternatingrowcolors"> 

<td>都不具备的一个value属性,因此.val()是错误的方法,尝试.text()代替。

固定例如:http://jsfiddle.net/BscPP/2/

P.S.如果你想添加自定义属性的元素,你应该data-前面加上他们:

<td class="data" data-headers="STATE">123</td> 

然后切换选择器:

$('.report-standard-alternatingrowcolors #element_id .data[data-headers="STATE"]') 

新演示:http://jsfiddle.net/BscPP/3/

注:标识都应该是唯一的,所以.report-standard-alternatingrowcolors有点无关。

$('#element_id .data[data-headers="STATE"]') 
2

你几乎明白了。在你的jsFiddle只需将.val()更改为.text()即可。一个td元素没有价值。

另外,在小提琴类"report-standard-alternatingrowcolors"没有正确定位,它在" "之外。