使用Jquery .find中的OR运算符来解析XML

时间:2015-03-30 07:56:55

标签: jquery xml

我正在使用以下内容来解析一些XML,但希望能够使用OR并在语句中添加第二个变量:

$(data).find("GUIDE:has(STATUS:contains('"+$pubstate+"'))").each(function(){

我已经尝试了各种方法,但只有当我有一个变量时,它似乎才有效。我想要做的是将xml写入表中,只要它包含两个变量中的一个或另一个的文本,这些变量从我的html中的单选按钮获取它们的值。

最初我认为它的格式如下:

$(data).find("GUIDE:has(STATUS:contains('"+$pubstate+"' || '"+$privstate+"' ))").each(function(){

任何人都可以帮忙解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您可以使用multiple selector

$(data).find("GUIDE:has(STATUS:contains('" + $pubstate + "'), STATUS:contains('" + $privstate + "'))").

答案 1 :(得分:0)

您可以使用,分隔:contains选择器:

$(data).find("guide:has(status:contains('" + $pubstate + "'), status:contains('" + $privstate + "'))");

您还可以使用filter来检查status元素的内容:

$(data).find('guide').filter(function() {
    var $status = $(this).find('status');
    var statusText = $status.text();
    return statusText.indexOf($pubstate) != -1 || statusText.indexOf($privstate) != -1;
});