我在jquery中动态创建多个<p></p>
元素。
var output = '<p>' + results.length + ' matches found</p>';
$.each(results, function (index, result) {
output += '<p class="'+result.text+'">- ' + result.text + '</p>';
});
$('#search-output').html(output);
现在,当我点击<p>
元素时,我想要文本值。我试过像
$('#search-output').click(function(e){
var data= $(this).text();
console.log(data);
$("#output").text(data);
})
但是#search-output的所有内容都显示出来了。我想得到我点击的<p>
的值。任何帮助
答案 0 :(得分:6)
$('#search-output').on('click', 'p', function(e){
var data= $(this).text();
console.log(data);
$("#output").text(data);
});
答案 1 :(得分:0)
要动态创建元素,您需要编辑jquery代码和点击身体上的点击事件这样的事情
$('body').on('click','#search-output p',function(e){
var data= $(this).text();
console.log(data);
$("#output").text(data);
})