我能够通过id找到元素的元素,并在ID被硬编码时添加一个类,例如:
var tableId = el.id;
$('#' + tableId).find("[id='Checkout On']").addClass('highlight');
但是,我想将'Checkout On'作为变量传递,例如:
var tableId = el.id;
var childEl = col.id;
$('#' + tableId).find("[id=" + childEl + "]").addClass('highlight');
然而,这似乎不起作用。
更新
完全理解ID不应该有空格,但这不是我能够解决的问题。
答案 0 :(得分:2)
您已使用变量
忽略了版本中的引号id
但请注意,其中包含空格的id
无效。来自the spec:
3.2.5.1
id
属性
<div id="div1"> <button id="button1">Dummy</button> <span>My parent div has increased in height</span> </div>
属性指定其元素的唯一标识符(ID)。 [DOM]该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符。 该值不得包含任何空格字符。
(我的重点)
这意味着即使这在一个浏览器上运行,也不能保证它可以在另一个浏览器中工作,甚至不能保证它在其工作的那个小版本中工作。 (我打赌它会,但没有理由去尝试这样的事情......)
答案 1 :(得分:0)
永远不要将空格用于任何id或类名。使用snake_case或camelCase:checkout_on
或checkoutOn
答案 2 :(得分:0)
如果要选择 ID 的元素,请使用#...
选择器。这样更好。像这样:
var tableId = el.id;
var childEl = col.id;
$('#' + tableId).find("#" + childEl ).addClass('highlight');
注意: ID不能包含空格。查看this了解详情。