Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加到xml标记的链接并使用jquery解析它_Xml_Parsing_Jquery_Xml Parsing - Fatal编程技术网

添加到xml标记的链接并使用jquery解析它

添加到xml标记的链接并使用jquery解析它,xml,parsing,jquery,xml-parsing,Xml,Parsing,Jquery,Xml Parsing,我可以用jquery解析xml。现在,我希望解析的文本是一个超链接,而不是简单的文本。下面是我写的 $(xml).find("customers") .each(function(){ $("#guys").append("<div class="mybox"><a href="+$(this).find('customer_link').text()+"target="_blank">"+$(this).find('customer_co

我可以用jquery解析xml。现在,我希望解析的文本是一个超链接,而不是简单的文本。下面是我写的

 $(xml).find("customers")
     .each(function(){
          $("#guys").append("<div class="mybox"><a href="+$(this).find('customer_link').text()+"target="_blank">"+$(this).find('customer_company').text()"</a></div>");                                                                                      

});
$(xml).查找(“客户”)
.each(函数({
$(“#guys”)。追加(“”);
});
这是XML

]>
http://www.google.com
]]>
http://www.emc.com

我知道逻辑上并没有错,我认为这只是一个带有标记的语法错误。有人能告诉我这里哪里出了错,并给我指出一个不错的教程吗

$("#guys").append("<div class="mybox">.......
$(“#家伙”).append(“…”。。。。。。。
您正在关闭标记,但您可能无意:

试试这个:

$("#guys").append("<div class='mybox'>.......
$("#guys").append("<div class='mybox'><a href=" + 
    $(this).find("customer_link").text() +
    "' target='_blank'>" + 
    $(this).find("customer_company").text() + 
    "</a></div>");  
$(“#家伙”).append(“…”。。。。。。。

不过,您需要更仔细地考虑,因为稍后字符串中会有一些引号。

您正在混合引号样式。单引号(
)字符串可以包含未替换的双引号(
),反之亦然。在双引号字符串中使用未替换的双引号会破坏代码

$("#guys").append("<div class="mybox"><a href="+$(this).find('customer_link')
ss^   se^       ss^         se^   ss^       se^            ss^           se^   

.text()+"target="_blank">"+$(this).find('customer_company').text()"</a></div>"); 
      ss^     se^    ss^e^            ss^              se^      ss^        se^ 

ss == string start,
se == string end 
或者,您可以使用jQuery构建所有元素,并完全避免在字符串中嵌入带引号的属性:

 $("#guys").append($("<div />")
                      .addClass("mybox")
                      .append($('<a/>', {  
                          href: $(this).find("customer_link").text(),  
                          target: "_blank",  
                          text: $(this).find("customer_company").text()  
                      })));
$(“#家伙”)。追加($(“”)
.addClass(“mybox”)

.append($('如果您无法从
客户公司
元素中删除
CDATA

我已经为您编辑了它,但建议您在再次发布时花多一点时间来编排代码。:-)这对jquery有什么影响。我知道在Java/C/C++中使用单引号或双引号是可以的。”关闭字符串。因此,有效地,你有一个<代码> MyBox <代码>在可解释代码的中间。你的代码把每个标签都放在每个标签上。我的意思是,当我点击谷歌时,它打开了,EMC也打开了奇点,它似乎对我起作用。这里是A和A奇点,我注意到我的字符串例子中的一个排错,所以它是固定的。ed,我在第二个示例中引用了
“customer\u link”
作为链接文本,所以我已经更新了这两个文本。当我使用第一个版本的代码时,我不断地在参数列表之后得到错误(缺少)。实际上,我正在使用ajax调用加载我的xml$(文档)。ready(函数(){$.ajax({type:“GET”,url:“myguys.xml”,数据类型:“xml”,成功:myguys};});
 $("#guys").append($("<div />")
                      .addClass("mybox")
                      .append($('<a/>', {  
                          href: $(this).find("customer_link").text(),  
                          target: "_blank",  
                          text: $(this).find("customer_company").text()  
                      })));