Javascript正则表达式html标签

时间:2013-06-05 11:28:12

标签: javascript jquery

如果我使用 Javascript jQuery 中的正则表达式编写text example,我将如何获得此<font size="50"> text example </font>这样的文字。

例如: 如果我在

     var x = window.prompt("Edit this text: ",messageText.getText()); 

输入

    <font size="50"> Font 50 </font>

我想输出

console.log(x) 

只是没有标签的字体50.

谢谢

3 个答案:

答案 0 :(得分:0)

假设以下html

<div>Random content can go <font size="50">here</font> with forn elements
<font size="50">mixed into the text</font>, in random positions.</div>

检索文字如下

//first get all elements with the appropriate selector
var $fontElements = $("font[size='50']");

//then access them one by one using .each(). $(this).text() gets the actual text
$fontElements.each(function (index) {
    var line = "element " + index + "=>" + $(this).text();
    $("#result1").append(line);
    $("#result1").append($("<br>"));
});

//using .text() right away will mix all the elements into one continous sting.
$("#result2").text($fontElements.text());

以上输出将给出

对于result1

element 0=>here
element 1=>mixed into the text

对于result2

heremixed into the text

以下是jsfiddle的链接,其中包含一个工作示例http://jsfiddle.net/Df9h9/

答案 1 :(得分:0)

你没有使用正则表达式 - 它是异端,通常是个坏主意。

您可以改为使用.text()

alert($('<font size="50"> text example </font>').text());

如果元素在DOM中,您可以使用选择器来检索它(请注意,这将匹配所有字体元素与此属性):

alert($('font[size=50]').text());

答案 2 :(得分:0)

您要找的是textContent。 早些时候,如果想要在标签中检索文本,那么就会出现&#34; innerText&#34;。 有关textContent vs innerText的优缺点的讨论,请阅读上面的文章。 如果你看一下源代码,jQuery&#39; s .text()(sizzle.getText)会使用textContent:

if ( typeof elem.textContent === "string" ) {
        return elem.textContent;