0
我想在所有包含@字符的span標籤中用「(at)」替換字符「@」。 有沒有類似$('span:contains("@")').text().replace
?jQuery替換元素的字符串
我想在所有包含@字符的span標籤中用「(at)」替換字符「@」。 有沒有類似$('span:contains("@")').text().replace
?jQuery替換元素的字符串
您發佈的代碼片段是其中一個選項。但是你需要重置元素的文本內容。
$('span:contains("@")').text(function(_, text) {
return text.replace(/@/g, '(at)');
});
這裏是一個非jQuery的選擇:
[].forEach.call(document.querySelectorAll('span'), function(span) {
if (span.textContent.includes('@')) {
span.textContent = span.textContent.replace(/@/g, '(at)');
}
});
請注意,重置.textContent
可能是破壞性的,如果該元素具有子元素。在這種情況下,您可以重置元素(.innerHTML
)或更好的html內容,過濾元素的文本節點。