Javascript 如何选择动态创建的ajax元素
快速提问。我有这样的html代码:Javascript 如何选择动态创建的ajax元素,javascript,jquery,ajax,javascript-events,Javascript,Jquery,Ajax,Javascript Events,快速提问。我有这样的html代码: <li class='entry'> <div class='entryContent'> <p class='entryText'>Entry text></p> <a href="#" class='entryReply'>Reply</a> </div> </li> 条目文本> 当我点击回复时,一个
<li class='entry'>
<div class='entryContent'>
<p class='entryText'>Entry text></p>
<a href="#" class='entryReply'>Reply</a>
</div>
</li>
条目文本>
当我点击回复时,一个带有回复表单的div被附加到“条目”中。
所以它看起来像:
<li class='entry'>
<div class='entryContent'>
<p class='entryText'>Entry text></p>
<a href="#" class='entryReply'>Reply</a>
</div>
<div class='replyForm'>
//form stuff
</div>
</li>
条目文本>
//表格材料
现在我要做的是创建userscript,它将找到动态div.replyForm并在其中添加一些内容:
<li class='entry'>
<div class='entryContent'>
<p class='entryText'>Entry text></p>
<a href="#" class='entryReply'>Reply</a>
</div>
<div class='replyForm'>
//form stuff
//MyAppendedStuff
</div>
</li>
条目文本>
//表格材料
//我的附属品
我已经试过了
$("body").on("focus", ".replyForm", function(){
$(this).append('<span>Hello World!</span>');
});
$(“body”).on(“focus”和“.replyForm”,function(){
$(this.append('helloworld!'));
});
但它不起作用
有什么想法吗?您正在为
div.replyForm
创建一个focus
侦听器。您可能希望将侦听器绑定到表单输入。大概是这样的:
$('body').on("focus", "div.replyForm input", function () {
$('div.replyForm').append('<span>Hello World!</span>');
});
$('body')。关于(“焦点”,“div.replyForm输入”,函数(){
$('div.replyForm').append('Hello World!');
});
您能否在创建div时将其加载到div中?或者在ajax调用的成功回调中将其添加到HTML中?见相关帖子。除非你做了一些事情,比如让它
内容可编辑
或者添加一个选项卡索引
,否则像焦点
这样以键盘为中心的事件看起来不会起作用……好吧,自我创建的div不是我的。代码已经在页面上了。我只想创建一个userscript,它将为动态创建的userscript添加更多的代码。我会仔细看看你的相关帖子。非常感谢!嗯,它适用于已经存在的内容。但是如果我们在页面加载或单击事件之后加载.replyForm呢?如果使用(如上所示),那么选择器将查找动态生成的元素。当然,这取决于您生成的特定HTML结构。我不知道为什么,但这次成功了(即使没有输入)。谢谢你的帮助!