gpt4 book ai didi

jquery - 替换段落中的所有 (.) 句号

转载 作者:行者123 更新时间:2023-12-01 01:30:19 27 4
gpt4 key购买 nike

我正在尝试用度数符号替换所有句点。使用each 方法仅替换段落标记内的第一个句点,而不是全部。我还尝试使 anchor 标记内的句点被忽略而不是被替换,因此链接不会被我的代码中断。有人可以帮忙吗?

$('div.post').each(function(){
var $h = $(this);
$h.html( $h.html().replace( '.', '<span class="period">&deg;<\/span>' ) );
});

编辑:我应该提到,我想保留“句点”类,这使得它变得棘手。

最佳答案

var span = $('<span class="period">°</span>').get(0);

$('p, p *').each(function (index,element) {
$.each(element.childNodes, function (index,node) {
if (node.nodeType == 3) {
$.each(node.nodeValue.split('.'), function (index,fragment) {
if ( index > 0 ) {
element.insertBefore(span.cloneNode(true),node);
}
element.insertBefore(document.createTextNode(fragment),node);
});
element.removeChild(node);
}
});
});

就能解决问题了。关键思想是在“.”上分割段落内每个文本节点的内容。字符,将每个片段变成一个新的文本节点,然后将新的文本节点与它们之间包含度数符号的span元素组装起来。

关于jquery - 替换段落中的所有 (.) 句号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1955939/

27 4 0
文章推荐: jquery - 如何使用 jQuery 获取