我有以下块
<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;
答案 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();