【问题标题】:get the string enclosed in a tag in a string Jquery获取包含在字符串 Jquery 中的标记中的字符串
【发布时间】:2014-07-08 22:53:40
【问题描述】:

我正在尝试获取包含在字符串中的标签之间的数据。我得到一个这种格式的字符串,我需要对其进行解析以仅获取标签中包含的内容。

var s = "Something something <details>Required data</details>";

我想获取&lt;details&gt;标签之间的数据

我试过了

alert($('s').find('details').text());

但它只是空白输出。 正则表达式会有所帮助,但在我看来,也许有更好的方法。

我欢迎任何帮助。

谢谢。

【问题讨论】:

    标签: javascript jquery html parsing tags


    【解决方案1】:

    如果一个字符串作为参数传递给 $(),jQuery 会检查 字符串以查看它是否看起来像 HTML(即,它以 开头)。 如果不是,则字符串被解释为选择器表达式,如 上面已经解释过了。

    似乎 jQuery 对您的 html 字符串感到困惑,并将其视为选择器。当你想显式解析html时,你可能需要使用$.parseHTML

    var s = "Something something <details>Required data</details>",
        $s = $($.parseHTML(s)),
        text = $s.filter('details').text();
    
    console.log(text); //Required data
    

    你也可以这样做:

    $('<div>').html(s).find('details').text();
    

    【讨论】:

    • 注意:$.parseHTML() 需要 jquery 1.8 +
    • 干得好,其实我更喜欢替代方案
    • 谢谢plaix .. :D .. 我喜欢我的问题的两个答案,而且它们都有效。不幸的是,我只能选择一个正确的。我非常感谢您的意见:D ..
    【解决方案2】:

    演示 1.8.2及以上:http://jsfiddle.net/SSL2q/

    演示 1.7.2 及以下:http://jsfiddle.net/FGpSP/

    API:

    旧回复:Find element at HTML stringHow to get an HTML element from a string with jQuery 值得一读。

    希望休息满足您的需求:)

    代码

    var s = "something sometihng <details> I want this </details>";
    
    alert("abc");
    alert($(s).filter('details').text());
    

    代码

    var s = "something sometihng <details> I want this </details>";
    
    alert("abc");
    alert($($.parseHTML(s)).filter('details').text());
    

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 2017-10-19
      • 2012-09-25
      • 1970-01-01
      • 2020-11-21
      • 2020-09-23
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多