我正在尝试使用jQuery选择行,并根据条件使其背景颜色为红色或绿色,但我似乎无法让jQuery选择它们。 我只能通过自定义属性中的唯一INT编号来识别它们。
HTML看起来像这样
<tr df:row_id="0" ..........
我尝试了N个代码变体,如
$("[df:row_id='"+theId+"']").css({ 'background-color' : 'green'});
或
$("tr[df:row_id='"+theId+"']").css({ 'background-color' : 'green'});
和使用简单或双引号的变体,但我似乎无法正确。我一直在
Uncaught Error: Syntax error, unrecognized expression: tr df:row_id='0'
Uncaught Error: Syntax error, unrecognized expression: [df:row_id='0']
我错过了什么?
答案 0 :(得分:4)
:
是选择器语法中的特殊字符,您需要将其转义:
$("tr[df\\:row_id='"+theId+"']").css({ 'background-color' : 'green'});
(通常,这是row_id
XML命名空间中的df
属性,但是jQuery does not support XML DOMs or namespaced selectors因此可以简单地转义:
。
答案 1 :(得分:1)
您应该使用转义字符标识符 \\
来存档,
$("tr[df\\:row_id='"+theId+"']").css({ 'background-color' : 'green'});
$("tr[df\\:row_id='1']").css({ 'background-color' : 'green'});