正在读取XML JS-jquery
Reading XML JS - jquery
目前我读取XML的唯一方法是将函数添加到"parse"函数中,但我希望能够添加该函数之外的函数。当我单击"匹配"按钮时,不会发生任何事情。尽管解析函数中的函数可以工作。我看到大多数人使用"XML"而不是"文档",但当我添加XML而不是文档时,我会收到错误"ReferenceError:XML未定义"。
我想在解析函数之外的xml上运行函数。谢谢你的帮助。
JS-
$(document).ready(function(){
$.ajax({
url: 'data.xml',
dataType: "xml",
success: parse,
error: function(){alert("Error: Something wrong with XML");}
});
});
function parse(document){
$(document).find('Swatch').each(function(){
alert($(this).attr('name'));
});
}
$('#Match').on('click', function () {
$(document).find('Swatch').each(function(){
alert($(this).attr('name'));
});
});
XML
<?xml version="1.0" encoding="UTF-8"?>
<Fabric>
<Swatch name="2016" title="Ruby_Red" alt="Main" match="2004, 2005, 2020, 2026, 2035"></Swatch>
<Swatch name="2004" title="Spring_Yellow" alt="Knits"></Swatch>
<Swatch name="2005" title="Newport_Navy" alt="Knits"></Swatch>
<Swatch name="2006" title="Light_Purple" alt="Knits"></Swatch>
<Swatch name="2007" title="Royal_Blue" alt="Knits"></Swatch>
<Swatch name="2008" title="Ruby_Red" alt="Knits"></Swatch>
</Fabric>
问题是click
处理程序中的document
引用了window.document
对象。
parse
方法中的document
参数是该方法的本地参数,在退出该方法调用后将不存在。
这里的解决方案是创建一个全局变量,该变量将保存xml引用
$(document).ready(function(){
$.ajax({
url: 'data.xml',
dataType: "xml",
success: parse,
error: function(){
alert("Error: Something wrong with XML");
xmldoc = undefined;
}
});
});
var xmldoc;
function parse(document){
xmldoc = document;
$(document).find('Swatch').each(function(){
alert($(this).attr('name'));
});
}
$('#Match').on('click', function () {
$(xmldoc).find('Swatch').each(function(){
alert($(this).attr('name'));
});
});
我想您可能会忘记将文档传递给您的函数
试试这个
$('#Match').click(function(document){
$(document).find('Swatch').each(function(){
alert($(this).attr('name'));
});
});
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 用于发现哪个JS/jQuery脚本正在冻结页面的工具或技术
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 如何使用JS/jQuery在另一个网站上显示iframe中的特定内容
- 在坐标上模拟点击坐标js/jQuery
- 如何插入js/jquery变量isideHTML标记
- 我需要JS/jQuery中的倒计时计时器
- 当我使用JS/jQuery/any插件点击图像时,我如何使背景变暗+不可点击,并放大和居中我的图像
- JS/jquery:我将如何遍历HTML中的每个图像
- 非常奇怪的JS/jQuery行为-alert()包含/排除
- JS/Jquery - 如果输入具有数组的任何名称,则返回关联的值
- 使用 js/jQuery/css 在重力形式中覆盖 !important
- 如何在 js / jquery 中绑定“数据追加”事件
- 解析 RSS 命名空间媒体:缩略图 (js/jQuery)
- AJAX/page refresh kills JS/jQuery
- 带有post值的JS jQuery重定向,不带<表单>
- js/jquery/other library插件来转换HTML->XML
- 正在读取XML JS-jquery
- 使用JS/Jquery进行远程Xml文件解析