示例(摘录):
<FIELD name="xxxxxxxx" refname="xxxx" type="String" reportable="dimension">
<WHEN field="xxxxxxxx" value="xxxxxxxxxxxxxxxxx">
<ALLOWEXISTINGVALUE />
<ALLOWEDVALUES expanditems="true">
<LISTITEM value="n.a." />
<LISTITEM value="Test" />
</ALLOWEDVALUES>
</WHEN>
<WHEN field="yyyyyyyyyyyyy" value="yyyyyyy">
<ALLOWEXISTINGVALUE />
<ALLOWEDVALUES expanditems="true">
<LISTITEM value="n.a." />
</ALLOWEDVALUES>
</WHEN>
</FIELD>
当我这样做时:
var $listItem = $(xmlDoc).find("FIELD[name='" + dependentFieldType + "'] > WHEN[value='" + productName + "'] ALLOWEDVALUES > LISTITEM[value='" + listItem + "']");
$listItem.val(newListItemValue);
它不会更新listitem值
还在$ listItem上尝试了.prop(“value”)和.attr(“value”)。
非常感谢使用上述xml示例的jsfiddle,它编辑了LISTITEM的value属性
答案 0 :(得分:0)
每次调用$(xml)
时,您都会根据原始字符串创建新的DOM对象。试试这个:
j = $(xml);
j.find('attr').attr('foo', 'bar');
console.log(j.html());
现在只解析一次XML字符串并更新生成的节点。