如何在Jquery中更改动态生成的元素的HTML内容

not*_*ser 7 jquery dynamically-generated

我很久以前就知道,对于动态添加的内容,必须使用$(document).on('click','[ID]', function(){});....等附加侦听器和点击和焦点等事件.

但是,我要做的是更改已动态添加的特定元素的HTML值.

例如,我使用此代码添加元素:

$('.friend_chooser_pop').html("<div id='#friend_chooser_list'></div>"); 
Run Code Online (Sandbox Code Playgroud)

现在我如何访问#friend_chooser_list并设置其HTML值?这些都不起作用:

$('#friend_chooser_list').html('something');
document.getElementById('friend_chooser_list').innerHTML = 'something';
Run Code Online (Sandbox Code Playgroud)

All*_*sen 6

这应该有用,你的问题是你#在你的id中包含了一个,这里不需要这个.

这会奏效.

$('.friend_chooser_pop').html("<div id='friend_chooser_list'></div>");
$('#friend_chooser_list').html('something');
Run Code Online (Sandbox Code Playgroud)

如果这是您打算包含#在ID中并且您希望它能够工作,您可以像这样使用它:

$("#\\#friend_chooser_list").html('something');
Run Code Online (Sandbox Code Playgroud)

它正在逃避#并允许jQuery无论如何都能获得正确的元素.我不推荐这个,它可以很快混淆.