javascript - 正则表达式在 IE6/IE7 中的行为不同

标签 javascript jquery html regex internet-explorer

我的 HTML 是这样的:

<select>
    <option>ABC (123)</option>
    <option>XYZ (789)</option>
</select>

我想做的是:使用 JQuery 和正则表达式,我将“(”替换为 <span>( 这是我的 JQuery 行:

$(this).html($(this).html().replace(/\(/g,"<span>("));

它在 Firefox、chrome 和 safari 中按预期工作,但(像往常一样)在 IE6/IE7 上运行不正确(“(”之后的文本刚刚被删除)

有什么想法吗?

PS:我这样做是因为我需要“(数字”)采用不同的颜色,并且 <span><option>无效。

最佳答案

我不认为这是正则表达式的问题。下面的代码在 IE7 中运行良好:

alert("(test".replace(/\(/g,"<span>("));

可能发生的情况是 IE6/7 不知道如何在选项内渲染跨度,并且无法显示任何内容。

关于javascript - 正则表达式在 IE6/IE7 中的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757754/

相关文章:

javascript - 使用 jQuery 绘制正弦曲线

javascript - slider 组件未重新渲染

javascript - PhantomJS 运行 JS 的 HTML 页面结果中如何获取嵌入的 JSON 对象并将其传递给 java 代码?

javascript - 有没有办法使用 JQuery 找出元素上是否有滚动条?

jquery - 如何使用CSS选择器通过文本查找链接

python - 如何在 Python 中将来自 Web 的原始 html 转换为可解析的 xml

javascript - 实现密码切换功能

html - 怎么把文字移到图片旁边

javascript - 使用 jQuery 获取数组中具有属性最大值的元素

javascript - 使用 jQuery 更改 html 的顺序