代码之家  ›  专栏  ›  技术社区  ›  Athapali

如何使用jquery获取变量中元素的文本?

  •  1
  • Athapali  · 技术社区  · 8 年前
    var markup = '<div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">Employee Self-Service pages have been corrected but may require you to refresh the page.</div><div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">&#160;</div><div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">If the problem remains, follow <a href="/Shared%20Documents/EBS%20Page%20Refresh%20Instructions_rkc.pdf">these instructions</a>. &#160;</div>';           
    var str = "";
    $(markup).find("div[class^='ExternalClass']").each(function(){
        str += $(this).text();
    })
    

    如何获取中所有div的内容 markup 首先 ExternalClass ?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Mohammad DefenestrationDay    8 年前

    $(markup) 选择器包含所有 ExternalClass 类,而您不能使用 .find() 因为它没有匹配的孩子。你需要使用 .filter() 以过滤所选元素。

    var markup = "<div...";
    var str = "";
    $(markup).filter("div[class^='ExternalClass']").each(function(){
        str += $(this).text();
    })
    

    var markup = '<div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">Employee Self-Service pages have been corrected but may require you to refresh the page.</div><div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">&#160;</div><div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">If the problem remains, follow <a href="/Shared%20Documents/EBS%20Page%20Refresh%20Instructions_rkc.pdf">these instructions</a>. &#160;</div>';
    $(markup).filter("div[class^='ExternalClass']").each(function(){
        console.log($(this).text());
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        2
  •  1
  •   Danmoreng    8 年前

    杰奎里斯 .find() 仅循环通过所选特定HTML的子项。你的变量 markup 没有具有配件类选择器的子项。 我能想象的解决这个问题的最简单的方法就是把你所有的 加成 在另一个div中,然后使用您的jQuery选择器-这样可以:

    var markup = '<div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">Employee Self-Service pages have been corrected but may require you to refresh the page.</div><div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">&#160;</div><div class="ExternalClass34E9F553C2F74AA2B6D693A07BA166AC">If the problem remains, follow <a href="/Shared%20Documents/EBS%20Page%20Refresh%20Instructions_rkc.pdf">these instructions</a>. &#160;</div>';
    markup = '<div>' + markup + '</div>';
    var str = "";
    $(markup).find("div[class^='ExternalClass']").each(function(){
        str += $(this).text();
    })