如果我使用 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.
谢谢
答案 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;