Я пытаюсь удалить двойные кавычки из текстовых узлов. Следующий код работает:Правильный способ заменить текст в элементе E4X
var cars = <cars>
<buick>
<color>
"Blue"
</color>
</buick>
<chevy>
<color>
"Red"
</color>
</chevy>
</cars>;
for each (elem in cars)
for each (item in elem.*)
elem[item.localName()] = item.text().toString().replace(/"/g,'');
Однако, я не чувствую себя комфортно о эле [item.localName()] = строительство. Действительно, у меня уже есть заостренный к тексту пункта, и было бы гораздо логичнее использовать что-то вроде:
item = item.text().toString().replace(/"/g,'');
К сожалению, этот код не делать то, что он должен делать. Любые идеи почему? Каков правильный способ сделать это?
Я бегу код в YQL (Open Таблица данных элемент). Ваш код работает, но на самом деле мне было интересно, есть ли способ изменить текст в узле, не обращаясь к родительскому (это то, что я делаю сейчас, elem [item.localName()]) –
mtelis
2010-11-26 06:08:37
@mtelis Hmm .. `txt.nodeValue = ...` должен работать, но это не так. В любом случае, почему именно вы хотите избежать обращения к родительскому элементу? – Zecc 2010-11-26 10:50:38