我需要基本上查找和替换从 Web 服务中检索为对象数组(具有逗号分隔的术语)的单词列表。查找和替换仅发生在 DOM 中的特定元素上,但它们可以有未知且数量不定的子元素(其中可以嵌套未知次数)。
我正在努力解决的主要部分是弄清楚如何选择所有节点到 textNode 级别,并且嵌套元素的数量未知。
这是一个非常精简的示例:
从网络服务中检索:
[{
terms: 'first term, second term',
youtubeid: '123qwerty789'
},{
terms: 'match, all, of these',
youtubeid: '123qwerty789'
},{
terms: 'only one term',
youtubeid: '123qwerty789'
},
etc]
HTML 可能类似于:
<div id="my-wrapper">
<ol>
<li>This is some text here without a term</li>
<li>This is some text here with only one term</li>
<li>This is some text here that has <strong>the first term</strong> nested!</li>
</ol>
</div>
Javascript:
$('#my-wrapper').contents().each(function(){
// Unfortunately only provides the <ol> -
// How would I modify this to give me all nested elements in a loopable format?
});