如何获得动态创建的值<p>

时间:2016-06-20 06:20:25

标签: javascript jquery onclicklistener

我在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>的值。任何帮助

2 个答案:

答案 0 :(得分:6)

  

了解Event delegation

$('#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);
})