根据特定的类名拆分GET请求返回的html

splitting up html returned from GET request on a certain class name

本文关键字:GET 请求 返回 html 拆分      更新时间:2023-09-26

我正在做一个返回两个div的GET请求,见下文:

$.get('releases', function(data){    
   console.log(data);
}

data返回以下html

<div class="release">
    <a href="link-1/">
        <img src="image-1.jpg">
        <h3>Test playlist 1</h3>
        <p>This release is a playlist</p>
    </a>
</div>
<div class="release">
    <a href="link-1/">
        <img src="image-1.jpg">
        <h3>Test playlist 1</h3>
        <p>This release is a playlist</p>
    </a>
</div>

我想知道如何将响应与classname release分割在div上。我看到的方式是,我将每个发布div及其内容放在一个数组中,然后我可以循环并添加响应类等。

与其这样做,为什么不在文档准备函数中添加类呢?

$(document).ready(function() {
    $('div').find('.release').each(function(){
         $(this).addClass( "myClass yourClass" );
    });
});

将数据转换为jquery对象,然后使用.find()来获取div的。然后循环遍历它们来做你需要做的事情。

$.get('releases', function(data){    
   $(data).find('.release').each(function(i, el){
      var $release = $(el);
      $release.addClass('some-class'); 
   });
}

我不知道你到底在做什么,但这将循环遍历每个div。

https://jsfiddle.net/ewsdnow6/

var data = '<div class="release"><a href="link-1/"><img src="image-1.jpg"><h3>Test playlist 1</h3><p>This release is a playlist</p></a></div><div class="release"><a href="link-1/"><img src="image-1.jpg"><h3>Test playlist 1</h3><p>This release is a playlist</p></a></div>';
var html = $.parseHTML(data);
$(html).each(function(){
    console.log($(this));
});