使用jquery获取链接的click事件上链接的rel属性的值

时间:2011-07-08 07:29:07

标签: javascript jquery click rel

我有很多这样的链接,具有不同的rel属性

<a href="#" class="buy" rel="WVSEU1Y">buy</a>

我想在点击时获取rel属性的值...但是这段代码似乎不起作用 firebug也不会在控制台中触发任何错误。我做错了什么?

$("a.buy").click(function(event) {
event.preventDefault();
var msg =  $(this).attr('rel');
alert(msg);

});

更新:我更正了我的html错误。它没有防止违约。点击事件似乎无效。

添加所有其他脚本的代码顶部。

4 个答案:

答案 0 :(得分:1)

此处http://jsfiddle.net/niklasvh/NFfe5/工作正常,但请注意您的HTML中有错误,错过href=#"附近的引号

确保您的代码也包含在DOM中:

$(function(){
// your code
});

答案 1 :(得分:0)

在这种情况下,

this绑定到全局对象。我相信event.target将是您想要的DOM对象。

$("a.buy").click(function(event) {
event.preventDefault();
//here, this refers to the global object, not the a element
//unless jquery is doing some magic to bind it
//event.target at this point in execution should be the a element
var msg =  $(this).attr('rel'); 
alert(msg);

});

答案 2 :(得分:0)

试试这个

$(document).ready(function(){

       $("a.buy").live('click',function(event) {
          event.preventDefault();
          var msg =  $(this).attr('rel');
          alert(msg);

        });   
});

答案 3 :(得分:0)

我已经测试过,写的没问题。代码如下:

<a href="#" class="buy" rel="WVSEU1Y">buy</a>
<script type="text/javascript">
    $(function () {
        $(".buy").bind("click", function () {
            alert($(this).attr("rel"));
        });
    })
</script>