JQuery属性选择器具有ID和类选择器

时间:2012-05-12 05:12:22

标签: jquery class attributes selector html-table

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

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

您可以查看: http://jsfiddle.net/BscPP/

4 个答案:

答案 0 :(得分:4)

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

你好。您没有引号内的主report-standard...,因此无法正常工作。此外,你正在进入选择器。在提供的示例中,只需使用.data[headers="STATE"]并使用.text()代替.val()

答案 1 :(得分: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/

注意:ID应该是唯一的,因此.report-standard-alternatingrowcolors有点无关。

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

答案 2 :(得分:2)

你几乎得到了它。在您的jsFiddle中,只需将.val()更改为.text()即可。 td元素没有价值。

另外,在小提琴中"report-standard-alternatingrowcolors"的位置不正确,它位于" "之外。

答案 3 :(得分:1)

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

FIDDLE