我有这段代码:
<button id="hit">hit</button>
$('button').click(function(){
console.log(this.id);
$(this).append("ok");
});
我假设$(this)
是基于Getting the ID of the element that fired an event引用$(button)
所必需的,this jQuery tags input library也适用于以下符合预期的行(添加&#39} ;确定&#39;到按钮文本)。我无法弄清楚为什么console.log(this.id);
有效,而以下情况则不然:
console.log( $(this.id) );
$('button').click(function(e){
console.log(e.target.id);
});
据我所知,这与应该发生的情况相反:$(this)
似乎应该引用jQuery对象 - 我不知道如何有效的例子有一个(this)和一个引用同一个对象的$(this)。我在哪里理解错误?
答案 0 :(得分:1)
我想这会更适合你的情况 的console.log($(本).attr( “ID”));
答案 1 :(得分:1)
在click事件处理程序this
内部引用dom对象,将其转换为jQuery对象,并使用$
$(this)
包裹它。
并且$(this.id)
不是正确的选择器,它会搜索标记元素hit
。由于它是id
元素,因此应以#
开头。
$('#' + this.id)