需要在具有id的特定元素中的任何位置替换冒号。这有效但由于某种原因也取代了附加到元素的样式:
(文档)$。就绪(函数(){
$("#element").each(function () { //for element
var s=$(this).text(); //get text
$(this).text(s.replace(/:/g, ' ')); //set text to the replaced version
});
});
我尝试将一个类附加到元素,但它没有任何区别。如何在不影响其他任何事情的情况下删除冒号? Demo
答案 0 :(得分:1)
我认为你想使用.html()方法:http://api.jquery.com/html/
因为根据这个:http://api.jquery.com/text/
它调用DOM方法.createTextNode(),它将特殊字符替换为其等效的HTML实体(例如<
的{{1}})
<
答案 1 :(得分:0)
当然你并不是说输入类型中的文字被替换为ha! 对于获取innerhtml的输入元素以外的html元素,您应该使用
var s=$(this).html();
答案 2 :(得分:0)
#element中的HTML代码是什么?
如果替换#element
中的文字会更改样式,则表示#element
也包含一些HTML标记(并且该样式实际应用于这些标记)。
试试这个:
$(document).ready(function() {
$("#element").each(function () {
(function trim_colons(el) {
for (var i = 0; i < el.childNodes.length; ++i) {
var c = el.childNodes[i];
if (c.nodeType == 1) trim_colons(c);
else if (c.nodeType == 3) c.nodeValue = c.nodeValue.replace(/:/g, ' ');
}
})(this);
});
});
这将正确删除:
个字符,而不会更改样式。