打印每个字符串,如果它包含jQuery中的特定字符?

Amr*_*ngh 1 html javascript jquery

我想获取包含特定单词的所有字符串,例如:

<div>
    <div>
        <span>
            <h3>In Paris (Mark Bartels) worked for about 50 years.</h3>
        </span>
    </div>

    <div>
        <span>
            <h3>In America (Henry Bartels) worked for about 50 years.</h3>
        </span>
    </div>

    <div>
        <span>
            <h3>In Europe (Mark Bartels) worked for about 50 years.</h3>
        </span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在上面的字符串中我必须检查"Mark",现在我想显示包含单词"Mark"的所有字符串.

我已经尝试过以下方式,但它对我没有帮助.

var elem = $('body').find(':contains(Mark)').not('script, style, link');
var a = elem.parent();
var tag = a;
console.log(tag);
$("#sentence").append(elem.text());
$("#sentence").append('<br />');
Run Code Online (Sandbox Code Playgroud)

Tus*_*har 6

迭代包含字符串的所有元素并附加innerText.

  1. :not(:has(*)):选择所有没有子元素的元素(不包括文本节点)参考
  2. :contains(Mark)'):选择包含文本的所有元素 Mark
  3. :not(script):排除<script>元素

// Get all the h3 elements which contains `Mark` in the innerText
// Iterate over them
$('body').find(':not(:has(*)):contains(Mark):not(script)').each(function() {
  // Append to the element
  console.log($(this)[0]);
  $('#sentence').append($(this).text() + '<br />');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div>
    <span>
      <h3>In Paris (Mark Bartels) worked for about 50 years.</h3>
    </span>
  </div>
  <div>
    <span>
      <h3>In America (Henry Bartels) worked for about 50 years.</h3>
    </span>
  </div>
  <div>
    <span>
      <h3>In Europe (Mark Bartels) worked for about 50 years.</h3>
    </span>
  </div>
</div>

<div id="sentence"></div>
Run Code Online (Sandbox Code Playgroud)