id="#alvin"
недопустимый синтаксис, '#' используется как часть селектора для jQuery или в CSS.
В этом очень ограниченном примере замените «яблоко» на «оранжевый».просто прочитайте innerHTML
и перепишите его.Я даже не использую jQuery для этого.
window.onload = function() {
var alvin = document.getElementById('alvin')
alvin.innerHTML = alvin.innerHTML.replace('apple', 'orange');
}
Я не использовал jQuery, потому что у jQuery нет чистого способа выбора случайных текстовых узлов.Так что, если мы обернем дочерние текстовые узлы в промежутки?Мы могли бы сделать это:
$('#alvin').contents().filter(function() {
return this.nodeType == 3;
}).wrap('<span></span>').end();
Таким образом, мы останемся со структурой:
<a id="alvin" href="http://www.camille.com"><ins class="xxx">Anna</ins><span>apple</span></a>
Тогда мы можем использовать соседний селектор +
, чтобы добраться до него, какэто - ins+span
означает <span>
после <ins>
:
var elem = $('#alvin ins+span');
elem.text(elem.text().replace('apple', 'orange'));