我有以下代码。从这里我想在新行中显示每个值的两个值。
<p><select id="temp">
<option value="default" selected="selected">--Choose value--</option>
<option >one</option>
<option >two</option>
<option >three</option>
</select>
</p>
我试图删除所有标签并在每个值之间添加新行并删除 - 选择值 - 文本
我想要输出为 - &gt;一两三(每个都在新行)
这是我尝试过的事情
tmp = tmp.replace(/<\/p><p>/ig, "<\/p>\n<\/p>");
tmp = tmp.replace(/(<([^>]+)>)/ig,"");
tmp = tmp.replace(/\n/g, "\n");
tmp = tmp.replace("--Choose an option--","");
答案 0 :(得分:0)
你试过了吗?
tmp = tmp.replace("--Choose value--</option>",""); // remove first option
tmp = tmp.replace(/<\/option>/g, "\n"); // replace all </option> with newline
tmp = tmp.replace(/<.*?>/g,""); // remove all other tags
tmp = tmp.replace(/^\s+/g,""); // remove spaces at the beginning of lines
tmp = tmp.substring(0,tmp.length-1); // remove trailing newline
这有点紧凑:
tmp = tmp.replace(/.*?<option *>(.*?)<\/option>(?:(?!<option).)*/g, "$1\n");
tmp = tmp.substring(0,tmp.length-1); // remove trailing newline