$(this) 在 .append() 中不起作用
$(this) not working within .append()
我正在尝试运行这段代码
$('.post').not('.compose').append('<a class = "card_mark hover" onclick = "addToDeck('''+$('input[name=token]').val()+''','+$(this).attr("id")+');return false"></a>');
但是$(this).attr("id");
正在undefined
回归.
我不太清楚这一点。谁能帮忙?
最好
使用事件委托而不是使用内联 js 来执行此操作,尤其是在包含 jQuery 时。
var elm = $('.post').not('.compose');
elm.on('click', 'a', function(){
addToDeck($('input[name=token]').val()+''','+ $(this).closest('.post').attr("id"));
return false;
});
现在,您已经绑定了事件。现在附加只需附加<a>
elm.append('<a />', { "class" : "card_mark hover" });
为了演示如何保持与现在相同的结构,您可以使用 each
循环,以便您可以隔离$('.post')
的实例,以便使用它来帮助创建 html 并this
成为您希望的那样。
$('.post').not('.compose').each(function(){
/* now "this" is the individual element with class=post */
$(this).append('<a class = "card_mark hover" onclick = "addToDeck('''+$('input[name=token]').val()+''','+$(this).attr("id")+');return false"></a>');
});
相关文章:
- UI - 手风琴在 empty() 和 append() 之后不起作用
- Ad标记并尝试使用append/appendTo而不是document.write-不起作用
- .append在单击时不起作用
- .append 在 Firefox 或 safari 中不起作用
- 某些函数在 .append 之后不起作用
- $(this) 在 .append() 中不起作用
- 我的 append() 似乎不起作用
- jQuery Append 在 HTML 的第一个块上工作正常,但在动态添加的 HTML 上不起作用
- 当我尝试用Javascript OOP风格进行编码时,Append不起作用
- html()、append()对通过ajax调用来的元素不起作用,remove起作用
- AngularJS ng-click()在控制器中的.append('')函数的动态调用中不起作用
- 在.append()之后.change()不起作用
- JQuery append在IE9和JQuery 1.7.1中不起作用
- 使用.append()时JQuery IF语句不起作用
- Onsenui-list修饰符在.append()jquery中不起作用
- jQuery-.append()不起作用
- 通过Ajax上传文件使用append()附加数据不起作用
- 在先前附加的内容被删除后,Append()不起作用
- Jquery -在.append之后,.hover在其他元素上不起作用
- jQuery .append在.submit上不起作用