Javascript 获取动态生成元素的内容并将其置于';在父母之前';要素
我有以下代码:Javascript 获取动态生成元素的内容并将其置于';在父母之前';要素,javascript,jquery,dom,Javascript,Jquery,Dom,我有以下代码: <input id="from" type="text"> <div id="fromlist"> <div class="item_element">Value 1</div> <div class="item_element">Value 2</div> </div> 但这段代码提醒“[object]”并不像我预期的那样是字符串 此外:即使我将获得item_元素的内容,我也不知道如何
<input id="from" type="text">
<div id="fromlist">
<div class="item_element">Value 1</div>
<div class="item_element">Value 2</div>
</div>
但这段代码提醒“[object]”并不像我预期的那样是字符串
此外:即使我将获得item_元素的内容
,我也不知道如何在parent元素之前指向(#在我的例子中是from)
有什么想法吗?使用事件委派(因为您的元素是动态生成的)
演示-->
--->
使用事件委派(因为您的元素是动态生成的)
演示-->
--->
试试看
试一试
你需要
$('#fromlist').on('click', '.item_element', function () {
console.log($(this).contents());
$(this).parent().prev().val($(this).text())
});
演示:
如果您确定输入元素的id,那么它就简单得多,如
$('#fromlist').on('click', '.item_element', function () {
$('#from').val($(this).text())
});
演示:
- 该警报将显示
[object object]
,因为.contents()
返回一个jQuery对象,当发出警报时,该对象将显示[object object]
-请改用控制台日志记录
您需要
$('#fromlist').on('click', '.item_element', function () {
console.log($(this).contents());
$(this).parent().prev().val($(this).text())
});
演示:
如果您确定输入元素的id,那么它就简单得多,如
$('#fromlist').on('click', '.item_element', function () {
$('#from').val($(this).text())
});
演示:
- 该警报将显示
[object object]
,因为.contents()
返回一个jQuery对象,当发出警报时,该对象将显示[object object]
-请改用控制台日志记录
$('#fromlist').on('click', '.item_element', function () {
$('#from').val($(this).text())
});