2012-01-17 67 views
2
<table> 
    <tr><td test='222'>sss</td></tr>  
    <tr><td test='111'>sss</td></tr> 
    <tr><td test='222'>sss</td></tr> 
    <tr><td test='111'>sss</td></tr> 
</table> 

$("[test]='111'").css('background-color', 'red'); 

LIVE:http://jsfiddle.net/MPmyc/1/使用jQuery为自己的属性

我怎么能只为测试== 111中的CSS?现在,这为所有TD添加了CSS。

+1

http://api.jquery.com/attribute-equals-selector/ – 2012-01-17 02:17:23

+3

如果你想创造属性,你应该真的使用'data-'属性。像'data-test =“foo”'http://ejohn.org/blog/html-5-data-attributes/ – 2012-01-17 02:19:09

回答

1

你写错了your attribute selector。相反的:

[test]='111' 

写:

[test='111'] 

编辑的代码:

$("[test='111']").css('background-color', 'red'); 

另外,如果你没有立足选择关闭一个元素id,那么我建议将选择器限制在最窄的合理范围内。即选择td元素:

td[test='111'] 

如果表中有一类或id,我也缩小范围是桌子底下。

1

这将work

$("[test='111']").css('background-color', 'red'); 

谓词箱亩包围整个状况。

1

变化$("[test]='111'")$('[test="111"]')

6
$("td[test='111']").css('background-color', 'red'); 
+0

+1将过滤器限制为'td'。 – 2012-01-17 02:18:30

2

的常用方法来测试的属性是这样的:

$('td[test="111"]').css(...); 

[]内整个测试,而不是部分以外作为样本。

+0

+1将过滤器限制为'td'。 – 2012-01-17 02:18:13

1
$('[test="111"]').css('background-color', 'red'); 

您需要将属性条件测试括在括号中,而不仅仅是属性名称。

1
$("td[test=111]").css('background-color', 'red');