我现在搜索高低,但我无法弄清楚如何让它工作:
我需要获取其类名包含我用变量传递的数字的元素.
为了更好地理解:这是在图库中的"点击"事件内.每当单击img时,我搜索src,查看该字符串包含的数字,然后想要找到其类包含相同数字的匹配p.因此,我可以将匹配的文本操作到当前显示的图片(因为我使用的插件剥离了任何id或类,我只能通过其源名称识别图片).
到目前为止,如果我直接将数字作为字符串输入,它确实有效.像这样:
var team_t = $(this).find("img").attr("src");
for(n = 1; n <=6; n++ ){
if(team_t.indexOf(n) != -1)
{
$('#text_content').find("p[class*='3']").css("background-color", "red");
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望它得到变量n所包含的数字,而不是"3".我尝试了这个,但它不起作用:
$('#text_content').find("p[class*=' + n + ']").css("background-color", "red");
Run Code Online (Sandbox Code Playgroud)
实际上它不适用于我试图传递的任何变量.我也看到并尝试过使用contains()或hasClass()等的示例..但对我来说没什么用.我对语法并不十分熟悉.
我怎么写这个,所以它把变量作为一个字符串?
如果我发出警报(n)它会显示正确的数字,所以这不是问题所在.
您使用字符串连接处于正确的轨道上,您只是没有完全在字符串之外:
$('#text_content').find("p[class*='" + n + "']").css("background-color", "red");
// Change is here -----------------^- and -^
Run Code Online (Sandbox Code Playgroud)
在你的尝试中,+ n +仍然在外部引号中,因此在选择器中逐字地使用(使其失败).
也就是说,如果你对DOM结构有任何控制(但听起来你可能没有),那么可能有更好的方法.例如,你可以data-*在元素上放置一个属性,为元素提供一个合适的选择器p(可能是id,但这只是一个选项).
您可能还希望在找到索引后结束循环,方法是break;在设置红色线后放置线.
最后:您可能希望使用类添加红色,而不是将演示文稿混合到JavaScript代码中.
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |