获取文本值,正则表达式或DOM方法?

时间:2011-05-06 11:59:12

标签: javascript regex

我有以下块

<span id="title"><select id="optionType"><option>choose option</option><option> hello</option><option>how are you</option></select></span> 

我想删除第一个选项,需要获取新行中的所有其他选项,只需要包含任何标记的选项文本。正则表达式是最好的使用,还是任何其他更好的方法来检索新行中的文本?我尝试了以下但是它可能会失败的时间

Description= $('title').innerHTML;
var tmp = Description;

tmp = tmp.replace("--Choose an option--</option>",""); // remove first option
tmp = tmp.replace(/<\/option><option>/g, "<\/option>\n<\/option>"); 
tmp = tmp.replace(/(<([^>]+)>)/g,""); 
tmp = tmp.replace(/\n/g, "\n"); 
tmp = tmp.replace(/^[\s]*/gm, '');

return tmp;

3 个答案:

答案 0 :(得分:1)

如果可能,请尝试使用jQuery而不是正则表达式。

这就像是

$("#optionType>option:first").remove() //to delete first option
$("#optionType>option") //list of other options

答案 1 :(得分:0)

(<option[^>]*?>([^<]+)<\/option>)

答案 2 :(得分:0)

您是否考虑过直接删除该选项而不是摆弄HTML代码?

特别容易,因为你已经在使用JQuery了:

$("#title option[value='--Choose an option--']").remove();

另请参阅:Removing an item from a select box