所以我有一个包含多行的表。每行的第一个TD内容是一个名为阵容的自定义属性标记。例如:
<td lineup="['463', '442', '200', '97', '238', '548', '166', '184', '353', '26', '573']">Some stuff</td>
这实际上是我通过Jinja2传递给html的列表。我认为这是存储这些数据的最佳解决方案。也许我错了,我刚刚开始编码。
现在我要做的是在阵容包含特定ID时选择行。
现在我这样做:
$("#xtable tbody td[lineup*='"+ID+"'']").parent()
哪个工作很好,除非ID是63,它还会选择id为463的行。我理解为什么它这样做,因为它基本上是搜索一个字符串,他不知道463实际上不是63。
所以我的问题:
修改
这是我的Jquery函数:
$('#update li').hover(function(){
playerId = $(this).find('span').attr("pid");
$("#xtable tbody td[lineup*='"+playerId+"'']").parent().css("background-color","#d9edf7")
},
function(){
$("#xtable tbody td[lineup*='"+playerId+"'']").parent().css("background-color","")
});
获取playingId的li元素示例
<li class="pushmsg" style=""><p><span rel="tooltip" class="player-name" pid="14" data-original-title="total point: 3">Arshavin</span> just got an assist</p></li>
谢谢!
答案 0 :(得分:2)
最好的方法是在您过滤的字符串中包含撇号。你应该用反斜杠作为前缀,因为你希望它被视为一个字符串。
$("#xtable tbody td[lineup*='\'"+ID+"\'']").parent()
我建议您尽可能地使用自定义属性,但如果确实需要它们,请使用data- *属性。更多信息here和here。使用数据阵容,您的代码将如下所示:
$("#xtable tbody td[data-lineup*='\'"+ID+"\'']").parent()
答案 1 :(得分:1)
删除星号*
$("#xtable tbody td[lineup='"+ID.toString()+"'']").parent()
答案 2 :(得分:1)
$('#xtable tbody td[lineup*="\''+ID+'\'"]').parent()
在属性子字符串中包含您的ID周围的单引号以匹配,但已转义。
另外:你因尴尬而获奖。