gpt4 book ai didi

jquery - 替换元素内字符串中特定字符后的文本?

转载 作者:行者123 更新时间:2023-12-01 03:01:55 24 4
gpt4 key购买 nike

对 JQuery 很陌生

我正在尝试删除元素内出现在特定字符之后的字符串中的文本。

我得到了这个:

<h3>Lorem ipsum dolor sit amet: consectetur adipisicing</h3>

我需要这个:

<h3>Lorem ipsum dolor sit amet</h3>

我是新手,非常感谢您提供的任何帮助。谢谢!

最佳答案

最简单的方法...

$('h3').text(function(i, text) {
return text.split(':')[0];
});

jsFiddle .

...但是如果有子元素,这不会涵盖您。

这段代码将...

var searchText = function(parentNode, regex, callback) {

var childNodes = parentNode.childNodes,
node;

for (var i = 0, length = childNodes.length; i < length; i++) {

node = childNodes[i];

if (node.nodeType == 0) {

var tag = node.tagName.toLowerCase();

if (tag == 'script' || tag == 'style') {
continue;
}

searchText(node);

} else if (node.nodeType == 3) {

while (true) {
// Does this node have a match? If not, break and return.
if (!regex.test(node.data)) {
break;
}

node.data.replace(regex, function(match) {

var args = Array.prototype.slice.call(arguments),
offset = args[args.length - 2],
newTextNode = node.splitText(offset);

callback.apply(window, [node].concat(args));
newTextNode.data = newTextNode.data.substr(match.length);
node = newTextNode;

});
}
}
}
}

searchText($('h3')[0], /:.*$/, function(node) {
$(node).next().remove();
});

jsFiddle .

我根据一些不使用 jQuery 库的代码改编了此代码。您可以使用 jQuery 使其变得更加优雅(例如 children()each()makeArray() 等)。

关于jquery - 替换元素内字符串中特定字符后的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8175484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com