正则表达式?

时间:2011-04-06 11:10:36

标签: javascript regex

我有一个如下标签:

<p id="questionText"><span class="qn" id="qn"> 1 </span>  hello? * </p> 

我希望从中获取文字("Hello")。

我已成功完成以下代码,但.textContent无法在IE中使用

 questionText = $('questionText-').textContent;
 questionText = questionText.replace(/\d+/g,"");
 questionText = questionText.replace("*","");
 return questionText.replace(/^\s*|\s*$/g,'') ;

如何更改代码,以便它可以同时使用?

2 个答案:

答案 0 :(得分:0)

我认为你是jquery框架。我认为你应该使用.text().html()

http://api.jquery.com/text/

http://api.jquery.com/html/

祝你好运

答案 1 :(得分:0)

获取hello? *部分而不是整个1 hello? *会更好。为此,我们需要获取#questionText的第二个子节点:

var qt = $("#questionText")[0];
qt.normalize();
var hello = qt.childNodes[1].data;
alert(hello); // outputs "  hello? * "

现在我们可以过滤字符串中的不需要的字符,

hello = hello.
            replace(/[^a-zA-Z ]/g, "").
            trim();
alert(hello); // outputs "hello"

剩下的就是把第一个字母大写。