我
id = $(“a [href ='”+ link1 +“']”)。parent()。attr(“id”);不工作
答案 0 :(得分:6)
有selector来检查属性
var link = $("a[href='http://myurl.com']")
, id = link.attr('id')
会返回a
属性等于href
http://myurl.com
代码
实际上,您可以使用不同的方法来检查属性值:
属性包含选择器[name*="value"]
属性包含Word Selector [name~="value"]
属性包含前缀选择器[name|="value"]
属性以选择器[name$="value"]
属性不等于选择器[name!="value"]
属性从选择器[name^="value"]
具有属性选择器[name]
多个属性选择器[name="value"][name2="value2"]
以上所有选择器都列在jquery api docs
中答案 1 :(得分:1)
您可以使用data- *来解决此问题。
答案 2 :(得分:0)
请使用此,
var a= $("a[href='http://myurl.com']").attr("id");
从您的代码中,也可以使用
$(document).ready(function()
{
$(".img-thumbnail img").click(function()
{
link = $(this).parent().attr("href");
$("#img_popup").fadeIn(0500);
$("#img_popup img").attr("src",""+link);
return false;
});
$(this).keyup(function(event) {
if (event.which == 39) {
link = $("#img_popup img").attr("src");
var your_id = $($("#gallery_content").find("a[href='"+link+"']")).attr("id");
}
});
});
jQuery的data()方法可以让你访问data- *属性,但是它会破坏属性名称的情况。你可以使用它:
$($("a[href=link]").parent()).data("id") // note the lower case
或者,您可以使用保留案例的attr()方法:
$($("a[href=link]").parent()).attr("id")