所以我在jquery变量中捕获了图像的ID,如下所示:
$("#tag img").click(function(e) {
var element = $(this).attr("id");
我如何解析var元素?
我想把它放在这样的if语句中:
if ( $(element *= 'square' ) {
$('#tag #view_name').text("Tag with a Square");
}
elseif ($(element *= 'circle' ) {
$('#tag #view_name').text("Tag with a Circle");
}
如何以最少的代码执行此操作?
感谢。
编辑:哦,我正在搜索的文字是单引号中的两个字符串('square'和'circle')。
编辑:下面的所有答案看起来都应该正常工作......但事实并非如此。这是其他代码,所以你们可以看看我是否遗漏了一些东西:
<div id="tag">
<a href=""><img src="images/square.png" id="square-tag"></a> |
<a href=""><img src="images/circle.png" id="circle-tag"></a> |
<span id="view_name">Tag with Square</span>
</div>
编辑3:好的......似乎其他一些jQuery正在劫持那个div。所有答案都是正确的。我希望我能将所有这些标记正确:)
答案 0 :(得分:3)
从最小的代码角度来看,这可行:
$("#tag img").click(function() {
if (this.id.indexOf('square')>-1) {
$('#view_name').text("Tag with a Square");
} else if (this.id.indexOf('circle')>-1) {
$('#view_name').text("Tag with a Circle");
}
});
按ID选择时,只使用 ID,它也是一个更快的选择器。我是这样做的,因为你的问题的措辞如何,对于这个具体的例子,它有点干净:
$("#tag img[id*='square']").click(function() {
$('#view_name').text("Tag with a Square");
});
$("#tag img[id*='circle']").click(function() {
$('#view_name').text("Tag with a Circle");
});
答案 1 :(得分:2)
这类似于$("input[name*='man']")
选择器(评论中的示例)
var name = $(this).attr("name");
if (name.indexOf('square') >= 0) {
$('#tag #view_name').text("Tag with a Square");
}
答案 2 :(得分:1)
试试这个:
if (element.indexOf("square") != -1)
$('#tag #view_name').text("Tag with a Square");
else if (element.indexOf("circle") != -1)
$('#tag #view_name').text("Tag with a Circle");