我正在用 jquery 编写一个花哨的选择框,并且遇到了一个小问题。
<select>
<option>
Shocka <br> Zooloo
</option>
</select>
alert($('option').html()+'');
无论出于何种原因,该<br>
标签都不会显示在警报中!如何获取带有br
标签的 html?
纯 js http://jsfiddle.net/z4Wb9/同样的问题。
我正在用 jquery 编写一个花哨的选择框,并且遇到了一个小问题。
<select>
<option>
Shocka <br> Zooloo
</option>
</select>
alert($('option').html()+'');
无论出于何种原因,该<br>
标签都不会显示在警报中!如何获取带有br
标签的 html?
纯 js http://jsfiddle.net/z4Wb9/同样的问题。
如果您想要一种解决方法 - 您可以使用不可见字符“ ALT+255
”或“
”并执行替换:
//In the replace function, use the ' ' character and not just a space.
alert($('option').val().replace(' ','\n'));
或者,如果您想用新行替换 ALT+255 字符的每个实例,您可能想使用:
alert($('option').val().replace(new RegExp(' ',g),'\n'));
显然这不是非常可取的,但是它应该可以满足您的需求。
(null)
如前所述,而不是使用字符。尝试使用该 
字符作为您的标记来执行替换,如下所示:
<option>
Shocka Zooloo
</option>
您可以复制 this 的内容( )
以访问字符及其位置作为替换函数中的第一个参数。
//The character being replace is NOT a normal space
alert($('option').val().replace(' ','\n'));