jQuery $(this)引用HTML文档而不是元素

时间:2011-04-24 11:10:42

标签: jquery this

我正在尝试读取元素的rel值。

$('.input-default').ready(function()
{
    $('.input-default').inputDefault($(this).attr('rel'));
});

但问题是$(this)以某种方式引用整个HTML文档。为什么?我该如何解决?

1 个答案:

答案 0 :(得分:4)

您不会在特定元素的.ready()事件中触发它。我认为当时的背景可能是窗口。只需直接参考输入。

<击>

<击>
$(document).ready(function() {
   var rel =  $('.input-default:first').attr('rel'); //added :first to make sure you only get the rel of the first
});

<击>

修改

在阅读您的评论并进行一些搜索之后,我意识到您正在使用input default插件。

查看其文档,您可以执行以下操作以获得所需内容

$(document).ready(function(){
   $('.input.input-default').inputDefault({defaultAttr: 'rel'});
});

我不确定该插件是否可以按照您在代码中的方式调用,但如果您确定该方法有效并且您想手动设置该值,则可以执行以下。

要遍历DOM元素集合,您可以使用.each()函数。

$(document).ready(function(){
   $('.input-default').each(function(){
        $(this).inputDefault($(this).attr('rel'));
   });
});