我有一个href,其格式为:

<a href class='link' location='USA'>USA</a>


然后,我使用JQuery尝试获取location的值并将其传递给新页面。

$(".link").click( function() {
   var location = $(this).attr("location").val();
   Popup('open.php?action=region&location=' + location,'open','300','200','yes');return false;
});


这不起作用。

我没有通过位置值。

有人可以告诉我我做错了什么!

谢谢

最佳答案

首先,发明不符合标准的属性将意味着您的HTML无效,这可能导致UI和JS问题。使用data属性将自定义数据存储在元素中:

<a href="#" class='link' data-location='USA'>USA</a>


然后,您可以使用data()在点击处理程序中访问它:

$(".link").click(function(e) {
    e.preventDefault(); // stop the default link behaviour
    var location = $(this).data("location");
    Popup('open.php?action=region&location=' + location, 'open', '300', '200', 'yes');
    return false;
});


仅供参考,通过attr()访问元素的属性时,不需要在其上调用val(),例如:

var foo = $("#element").attr("foo");
console.log(foo); // = "bar"

09-25 22:12
查看更多