Jquery用一个类替换所有DIV内部的点和空格
Jquery replace dots with spaces inside of all DIVs with one class
我正在使用最新的Jquery和以下脚本:
<script type="text/javascript">
$(document).ready(function(){
var el = $('.title');
el.html(el.html().replace(/'./gi, " "));
});
</script>
这是div:
<div class="title">The.quick.brown.fox</div>
它所做的是用类"title"的DIV中的空格替换所有的点,实际上它很适合这份工作。
但我有很多DIV,它们有相同的"title"类,但有不同的字符串,我需要它们都用空格替换点。但这里的问题出现了,因为我在所有这些DIV"the quick brown fox"上得到的都是相同的结果字符串,而所有的结果字符串都应该不同,因为所有的源字符串都不同。。。
我该怎么做才能将所有DIV中的点替换为类"title"和每个DIV中所有不同的字符串?
感谢
您可以使用each()来迭代匹配的元素,或者将函数传递给html()并在那里计算新文本:
$(document).ready(function() {
$(".title").html(function(index, currentHtml) {
return currentHtml.replace(/'./gi, " ");
});
});
只需使用jQuery each
方法迭代.title
:类的所有元素
$(document).ready(function(){
$('.title').each(function(){
$(this).html($(this).html().replace(/'./gi, " "));
});
});
只要div中只有文本,建议的函数就可以正常工作。然而,为了允许任意html(如The.quick.brown <img src='fox.jpg'>
),代码应该更准确。
$('.title').each(function() {
if (this.nodeType == 3)
this.nodeValue = this.nodeValue.replace(/'./g, " ");
else
$(this).contents().each(arguments.callee);
});
基本上,您递归地迭代一个节点的所有子节点,只替换类型为3(=text)的节点。
Fiddle:http://jsfiddle.net/jZgUY/
相关文章:
- 可以't触发容纳在其内部的扩展DIV内部的事件's”;触发DIV”;
- 点击一个按钮,有没有一种方法可以检查Div内部的图像
- 当Div类被点击时,提醒它's的内部内容's潜水课
- JavaScript,CSS:剪辑到父DIV内部
- 如何使用GWT或Javascript强调DIV内部(innerText)的文本:
- 在 DIV 内部选择
- 如何在没有几个DIV内部的情况下获得DIV的内部HTML
- 内部 DIV 颜色文本在鼠标悬停时没有更改
- 文档未将内部 HTML 写入 DIV
- 当画布是内部 DIV 时,使用 JointJS 时出错
- LI 内部的 DIV 元素
- 使用 jQuery 更改内部特定 Div 标签内的 TD 值
- 响应行不尊重其内部DIV的高度
- CSS或JS规则适用于所有Div更改Div内部Div的BG颜色,而不更改父Div
- 重新安排HTML内部Div
- 固定应用于内部Div禁用溢出:隐藏
- 用JavaScript访问内部DIV
- 当外部Div被点击时,滑动切换内部Div
- 回复:获取内部Div内容
- 在内部 DIV 展开/折叠后设置周围 DIV 的高度