我有这个元素:
<div class="isthisyou" id="unique_identifier"></div>
我想使用jQuery在div中插入一个链接:
$('isthisyou').append('<a href="auth/create_account/'+this.id+'">Is this you?</a>');
现在this.id
正在返回undefined
而不是unique_identifier
。我做错了什么?
谢谢!
答案 0 :(得分:1)
总有这个
$this = $('.isthisyou');
$this.append('<a href="auth/create_account/'+$this.attr('id')+'">Is this you?</a>');
答案 1 :(得分:1)
失败有三个原因:
foo
的选择器应为".foo"
而不是"foo"
this
并不代表您的意思请改为尝试:
$('.isthisyou').each(function(){
$(this).append('<a href="auth/create_account/'+this.id+'">Is this you?</a>');
});
答案 2 :(得分:0)
对于选择器中的类,使用它作为“.classname”(点),不幸的是你必须通过$(this).attr()来访问id。
$('.isthisyou').append('<a href="auth/create_account/'+$(this).attr("id")+'">Is this you?</a>');
如果$(this).attr(“id”)仍未定义,那意味着$(this)未在追加中设置,您将不得不使用以下内容:
$('.isthisyou').each(function(){
$(this).append('<a href="auth/create_account/'+$(this).attr("id")+'">Is this you?</a>');
});
答案 3 :(得分:0)
请尝试使用attr
:
$('isthisyou').append('<a href="auth/create_account/'+$(this).attr('id')+'">Is this you?</a>');
或者如评论所示,您可以尝试:
$('isthisyou').append('<a href="auth/create_account/'+$('isthisyou').attr('id')+'">Is this you?</a>');
答案 4 :(得分:0)
以上两个答案都有小问题。 使用
$('.isthisyou').append('<a href="auth/create_account/'+$(this).attr('id')+'">Is this you?</a>');