-4

如果我在JavascriptjQuery中使用正则表达式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) 

只是一个没有标签的 Font 50。

谢谢

4

3 回答 3

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());

上面的输出将给出

结果1

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

结果2

heremixed into the text

这是 jsfiddle 的链接和一个工作示例http://jsfiddle.net/Df9h9/

于 2013-06-05T11:35:48.517 回答
0

您不要为此使用正则表达式-这将是异端邪说,通常是个坏主意。

您可以.text()改用:

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

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

alert($('font[size=50]').text());
于 2013-06-05T11:36:05.480 回答
0

您要查找的内容称为textContent。早些时候,如果想检索标签中的文本,可以使用“innerText”。有关 textContent 与 innerText 的优缺点的讨论,请阅读上述文章。如果您查看源代码,则jQuery 的.text() (sizzle.getText) 使用 textContent:

if ( typeof elem.textContent === "string" ) {
        return elem.textContent;
于 2013-06-05T11:38:03.753 回答