gpt4 book ai didi

JQuery - 使用嵌套的each() 来更新XML 字符串。原始字符串未更新

转载 作者:行者123 更新时间:2023-12-01 01:49:29 24 4
gpt4 key购买 nike

新用户和第一个问题..我使用嵌套的each() 来解析XML 字符串。我找到了要查找的节点并更改了属性的值,但原始 xml 字符串保持不变。

下面是 XML 和 JQuery。查找代码中的警报以查看更新发生的位置。无论如何,在所有的每个都播放完之后,原始的 xml 字符串还是原来的样子吗?我做错了什么?

谢谢

XML:

<Test TestID="712" UserID="1231230192831039812">
<Question id="713">
<AnswerSet id="718" type="5">
<AnswerSetOption id="740" IsChecked="Foo" />
<AnswerSetOption id="741" IsChecked="Foo" />
<AnswerSetOption id="742" IsChecked="Foo" />
</AnswerSet>
<AnswerSet id="719" type="5">
<AnswerSetOption id="740" IsChecked="Foo" />
<AnswerSetOption id="741" IsChecked="Foo" />
<AnswerSetOption id="742" IsChecked="Foo" />
</AnswerSet>
<AnswerSet id="720" type="5">
<AnswerSetOption id="740" IsChecked="Foo" />
<AnswerSetOption id="741" IsChecked="Foo" />
<AnswerSetOption id="742" IsChecked="Foo" />
</AnswerSet>
</Question>
</Test>

脚本:

    function TrackResponse(QuestionID, AnswerSetID, AnswerSetOptionID, InputType) {

var xml;

xml = $('#_uiCheckingAnswersHidden').val();

$(xml).find('Question').each(function () {

var xmlQuestionID = $(this).attr('id');

$(this).find('AnswerSet').each(function () {

var xmlAnswerSetID = $(this).attr('id');

$(this).find('AnswerSetOption').each(function () {

var xmlAnswerSetOptionID = $(this).attr('ID');
var checkedValue = $(this).attr('IsChecked');


if (InputType == 'radio') {

if (QuestionID == xmlQuestionID && AnswerSetID == xmlAnswerSetID && AnswerSetOptionID == xmlAnswerSetOptionID) {

alert('Found it');

var oldValue;

oldValue = $(this).attr('IsChecked');

alert('Old value: ' + oldValue)

$(this).attr('IsChecked', 'Bar');

var newValue;

newValue = $(this).attr('IsChecked');

alert('New value: ' + newValue)

}
else {
$(this).attr('IsChecked', 'pp');
}
}

//Checkbox -- if not found updated Checked Attribute to ''
if (InputType == 'check') {

var checked = $(this).attr('IsChecked');

if (QuestionID == xmlQuestionID && AnswerSetID == xmlAnswerSetID && AnswerSetOptionID == xmlAnswerSetOptionID) {

if (checked == 'true') {
$(this).attr('IsChecked', 'dd');
}
else {
$(this).attr('IsChecked', '');
}
}
}
});
});
});

alert(xml);
}

最佳答案

您可以执行上述所有操作并通过引用访问原始 DOM 元素,也可以使用 .html(xml) 或其他内容替换或附加 XML 内容到当前内容。

关于JQuery - 使用嵌套的each() 来更新XML 字符串。原始字符串未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13877336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com