繁体   English   中英

如何对从Ajax动态添加的具有相同类的元素执行操作?

[英]How to apply an action on elements with the same class added dynamically from ajax?

我使用Ajax从数据库获取一些数据,从该Ajax请求返回的数据:

<p class="fetchedData">First Result</p>
<p class="fetchedData">Second Result</p>
<p class="fetchedData">Third Result</p>
<p class="fetchedData">Fourth Result</p>

单击该如何获取每个p元素内的文本?

就像单击<p class="fetchedData">Fourth Result</p>我得到“第四结果”。

我试过了

var eachData $('.fetchedData').each(function(){
    $(this).on('click' , function(){
        console.log( $(this).text() );
    })
});

var allData = document.querySelectorAll('#fetchedData');
allData.forEach(function(el){
    console.log( $(this).text() );
}

但是他们都没有工作。

我也尝试过

$(document).on('click','.fetchedData' , function () {
    console.log( $(this).text() );
})

但这仅适用于第一个元素。

 $(document).ready(function() { $(document).on('click', '.fetchedData', function() { console.log($(this).text()); }) $.each(['First', 'Second', 'Third', 'Fourth'], function(index, value) { $('body').append(`<p class="fetchedData">${value} Result</p>`); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

您需要删除var eachData并仅使用jQuery每个add click事件

$('.fetchedData').each(function(){
    $(this).on('click' , function(){
       console.log( $(this).text() );
    })
});

http://api.jquery.com/html/

使用.html()单击上面的链接以供参考

否则使用document.getElementByClassName("className").value

如果每个数据都具有相同的类,则无需使用each循环。 您可以直接在.fetchedData类上应用click事件。

$('.fetchedData').on('click', function(){
    console.log($(this).text());
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM