如何使用$(this)动态检索锚标记的title属性

时间:2014-11-05 09:26:22

标签: javascript jquery html css

我正在尝试为我的网站开发一个朋友标签系统。

我的div标签周围有一个锚标签,它有一个标题。我正在尝试使用以下代码从中检索标题,但结果始终未定义。

<a href="#" class="add-link" onclick="addFunc()" title="test1">
    <div class="divclass">
        blabla    
    </div>
</a>
function addFunc(){
    var username = $(this).attr('title');
    $('#content').html(username);
}

http://jsfiddle.net/0f4mun8r/3/

任何想法为什么?

谢谢!

3 个答案:

答案 0 :(得分:4)

你有三个问题。


首先:

您已将JS Fiddle配置为将所有代码包装在onload处理程序中。这会使该功能成为全局功能,因此当您拨打addFunc时,无法找到它。


第二

你正在调用jQuery,但还没有包含jQuery库。


第三

this的值取决于您如何调用该函数。

调用onclick函数时,this是元素。

调用addFunc时(如果您解决其他问题),由于您尚未指定上下文,thiswindow(默认对象)。


不要使用内在事件属性。使用JavaScript绑定您的事件处理程序。

jQuery(".add-link").on('click', addFunc);

如果您使用jQuery,则在页面中使用include the library

答案 1 :(得分:1)

你没有在你的小提琴中加入jquery。此外,如果你使用jquery绑定你的事件,就像这样:

$(".add-link").on("click", function addFunc(){
    var username = $(this).attr('title');
    $('#content').html(username);
});

http://jsfiddle.net/0f4mun8r/4/

答案 2 :(得分:0)

尝试使用类名调用它:

$('.add-link').click(function() {
    var username = $(this).attr('title');
    alert(username);
    $('#content').html(username);
});