Javascript 在Chrome59中工作的JQuery代码现在在Chrome60中中断

Javascript 在Chrome59中工作的JQuery代码现在在Chrome60中中断,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,我在Chrome更新(Chrome/59.0.3071.112 V8/5.9.211.38)之前有过这个配置,现在我在Chrome更新之后有了这个配置:Chorme/60.0.3112.90 V8 6.0.286.52 以下代码在Chrome59上运行良好,现在在Chrome60上中断。你能给我一些建议吗?看来find(“mensage”)方法不再有效了 $(函数(){ var returno=$.parseXML(“.Net SqlClient数据提供者cob.st_GerarBoletoC

我在Chrome更新(Chrome/59.0.3071.112 V8/5.9.211.38)之前有过这个配置,现在我在Chrome更新之后有了这个配置:Chorme/60.0.3112.90 V8 6.0.286.52

以下代码在Chrome59上运行良好,现在在Chrome60上中断。你能给我一些建议吗?看来find(“mensage”)方法不再有效了

$(函数(){
var returno=$.parseXML(“.Net SqlClient数据提供者cob.st_GerarBoletoCobranca_R_H00:A Data de vencimento informada nãoéválida ou não foi possível verificar.50000105st_menmanagerro u Negocio_R_H00RJOPVSQLD01\rjobd02”);
returno=$(returno);
var dadosretronosucesso=retrono.find('op_st_GerarBoletoCobranca_R_H00Result');
var dadosRetronoError=returno.find('pProcedureRaiseErrorCollection');
var mensagensErro=[];
if(dadosRetronoError.children().length>0){
$.each(dadosRetronoError.children(),函数(i,msg){
console.log($(msg.find(“mensage”).text());
});
}
});

您必须选择整个标签:
a:Mensagem
而不是
Mensagem
。此外,您还需要转义冒号,因此您的选择器应该是
a\\\:mensage
,即:

$(msg).find('a\\:Mensagem').text()
我怀疑这可能是由于jQuery中的选择器存在错误,因为这样做可以:

msg.querySelector('Mensagem').textContent
附言:我不鼓励使用
$.each()
。相反,您应该将jQuery集合传递给
。each()

dadosRetornoErro.children().each(function(i) {
  console.log($(this).find('a\\:Mensagem').text());
});
。。。或者,如果坚持使用名称空间选择器,则必须使用本机JS;)

见下面的概念证明:

$(函数(){
var returno=$.parseXML(“.Net SqlClient数据提供者cob.st_GerarBoletoCobranca_R_H00:A Data de vencimento informada nãoéválida ou não foi possível verificar.50000105st_menmanagerro u Negocio_R_H00RJOPVSQLD01\rjobd02”);
returno=$(returno);
var dadosretronosucesso=retrono.find('op_st_GerarBoletoCobranca_R_H00Result');
var dadosRetronoError=returno.find('pProcedureRaiseErrorCollection');
var mensagensErro=[];
if(dadosRetronoError.children().length>0){
DadosRetronoError.children().each(函数(i){
log($(this.find('a\\\:Mensagem').text());
});
}
});

你说的“破坏”是什么意思?你在浏览器的控制台上看到了什么?嗨,特里,这就是重点。更新之前,conosle.log()打印了“COB.st_GerarBoletoCobranca_R_H00:A data de vencimento informada nãoéválida ou não foi possível verificar.”“Mensage”内容。在更新之后,它返回一个空字符串…我不知道为什么讨厌-但是这是一个关于一个不明显的调试问题的有趣且相对孤立的问题。你有没有可能找到破坏它的提交?我是curious@BenjaminGruenbaum实际上我不知道:)这似乎是jQuery实现选择器tho的问题,因为
this.querySelector('mensage')).textContent
确实有效。请务必向jQuery上游报告此问题-web平台之所以稳定,是因为人们在:)@BenjaminGruenbaum上报告这些问题。此功能在其他浏览器中似乎已被破坏,并且可以在jQuery的所有版本(v1.x、2.x和3.x)中重现。“我认为,在这一点上,这应该是一个功能要求,而不是?”本贾明鲁恩鲍姆,问题报道在。谢谢
dadosRetornoErro.children().each(function(i) {
  console.log(this.querySelector('Mensagem').textContent);
});