从“div class”中选择包含某些单词的内容

时间:2021-01-25 16:02:41

标签: html jquery ajax

我有以下由服务器端脚本生成的 ajax 响应:

<div class="item-title3">Testname</div>
<div class="item-level">120</div>
<div class="item-binding">40</div>
<div class="item-type">Feet</div>

现在我想选择 div class 的内容,它包含 div 类名称中某处的 "item-title" 词。所以 div 类名中的数字不应该相关(在这种情况下,item-title3 的 3 不应该相关)。

在这个例子中,我的代码应该抓取“Testname”,但找不到它。我认为 siblings 方法是这里的问题。

<script language="javascript">

jQuery(function($) {
  
  $("[tooltip-link]").each(function() {
    let $tooltip = $(this);
    let id = $tooltip.attr("data-id");

    $.ajax({ 
      url: "/datenbank/itemscript.php",
      type: "GET",
      data: {
        "var": id
      }
    }).then(function(data) {
      let $content = $(data);
      let title = $content.siblings('.item-title').text()

      $tooltip.tooltip({
        tooltipClass: "test",
        content: data
      });

       $("<div class=\"item-title\">" + title + "</div>").appendTo($tooltip);
    });
  });
    
});
</script>

<a tooltip-link data-id="12555" title=""></a>

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用包含 item-title 字符串的 jQuery 通配符 类选择器。

<div class='hidden' style='display:none'></div>
let $content = $.parseHTML(data);
$('.hidden').empty();
$('.hidden').append($content);
$('.hidden').find('div[class*=item-title]').text();
添加一个额外的隐藏 div 来保存 html 响应,并使用 $.parseHTML 方法将响应字符串解析为 html 并将其附加到隐藏的 div。确保每次都清除隐藏的 div 内容。

通配符选择器选择与 class 属性中指定的字符串匹配的元素。

相关问题