0

我有这个 xml 提要,如下所示:

<GSP VER="3.2">
    <TM>0</TM>
    <Q>blue&blue</Q>
    <PARAM name="output" value="xml_no_dtd" original_value="xml_no_dtd"/> 
    <PARAM name="q" value="blue&blue" original_value="blue%26blue"/>
</GSP>

然后我有以下 jquery 来迭代这个 xml 提要:

var queryresults = $(data).find("GSP").find("PARAM[q]");
var query = "";

$(queryresults).each(function() {
    query = $(this).attr('original_value').text();
    alert(query);
}); 

但是我似乎没有得到回报,您如何选择具有特定属性的特定元素,然后选择辅助属性。例如

选择"<PARAM>"WITH 属性 ="name"并检索值 ="original_value"

结果:

query=blue%26blue
4

4 回答 4

1

我不确定query=您的预期输出部分应该来自哪里,但除此之外,blue%26blue从上面检索字符串:

var originalValue = $('param[name="q"]').attr('original_value');

参考:

于 2012-06-10T00:53:12.787 回答
1

按多个属性选择:

$('param[name="whatever"][value="whatever2"]')

于 2012-06-10T00:55:34.923 回答
1

将您的代码调整为如下所示:

var queryresults = $(data).find("GSP").find("PARAM[name=q]");
var query = "";

$(queryresults).each(function() {
    query = $(this).attr('value');
    alert(query);
});

您尝试对 .text() 函数执行的操作不是必需的,因为 .attr() 函数已经返回该属性的值。

此外,为了根据名称查找元素,您可以使用以下内容:

$("PARAM[name=q]")

这也适用于其他属性。

有用的阅读:http ://api.jquery.com/attribute-equals-selector/

于 2012-06-10T00:58:36.450 回答
0

试试这个:

var queryresults = $("GSP").find("PARAM[name='q']"); // try it using "data"
var query = "";
$(queryresults).each(function() {
  query = $(this).attr('original_value');
  alert(query)
}); 

http://jsfiddle.net/jHtg4/

于 2012-06-10T01:03:48.283 回答