用jquery替换数字列表

时间:2014-01-01 11:58:37

标签: javascript jquery

我有一个用HTML编写的列表:

<p>
1 - hello
2 - yo
3 - sup
</p>

我想替换数字[1-20] ,然后是空格[] ,后跟连字符[ - ] 和{ {1}}使用Jquery。


我相信它是这样的? (显然在&quot;<p class='answer'>&quot;里面只是在解释我在寻找的东西):

.find

2 个答案:

答案 0 :(得分:1)

这是一个干净的(*)解决方案。

$("p:not(:has(*))").each(function () {
    var txt = $(this).text(),
        linePattern = /^\s*(\d+) - (.*)/gm,
        line, paragraphs = [];

    if (linePattern.test(txt)) {
        linePattern.lastIndex = 0;
        while (line = linePattern.exec(txt)) {
            paragraphs.push( $("<p>", {text: '"' + line[2] + '"'}) );
        }
        $(this).replaceWith(paragraphs);
    }
});

(*)“清理”如:DOM-aware和XSS-safe,直接且可维护。

转换

<p>
1 - hello
2 - yo
3 - sup
</p>

<p>"hello"</p><p>"yo"</p><p>"sup"</p>

答案 1 :(得分:0)

试试这个

var htmlstr = $('p').html(); 
  var splitstr = htmlstr.split('-') ;
  var toreplace = splitstr[0];
  var replacewith = "&quot;<p class='answer'>&quot;";
  splitstr.replace(toreplace,replacewith )