好的,我有这个HTML代码:
<head>
<script type="text/javascript" src="js/jquery.1.3.2.min.js" ></script>
<script type="text/javascript" src="js/jquery-ui.min.js" ></script>
<script type="text/javascript" src="js/funciones.js" ></script>
</head>
<body>
<div>
<a><div id= "0" class="Button" href="./es/uno.xml">uno</div></a>
<a ><div id= "1" class="Button" href="./es/dos.xml">dos</div></a>
<a ><div id= "2" class="Button" href="./es/tres.xml">tres</div></a>
</div>
<br/>
<br/>
<br/>
<div id="content" class="content">
</div>
</body>
</html>
和这个javascript代码:
$(document).ready(function() {
$('.Button').click(function() {
var href = $(this).attr('href');
if( typeof href != "undefined" && href != ""){
$.ajax({
url: href,
dataType: 'text',
success: function(data) {
//alert($(data).contents().contents().text());
$('#content').html(data);
ultXML = href;
}
});
}
});
});
上面的代码让我在div内容中加载3个不同的xml文件,根本没有标记。它在Firefox上运行正常,但它不适用于Chrome(无论是Wind还是Ubuntu Chromium)
答案 0 :(得分:2)
将if条件更改为if(href) { ...
。
您正在检查值是未定义还是空字符串,如果执行if(href) { ...
,则两者都将评估为false。
我现在正在Windows中使用chrome,你的代码似乎工作(当然它会引发我404错误,因为我没有文件)。
如果这不能解决您的问题,请尝试打开Chrome开发人员工具,并检查是否在“网络”中看到了ajax请求。
更新:在ajax成功时添加jsfiddle空白警告
答案 1 :(得分:0)
我终于发现了什么是愚蠢的新手错误!代码没有错,运作良好。问题是当我在本地测试时:
file:///home/.../index.html(导航浏览器栏)
FF可以找到./es/uno.xml的路径但是(我知道为什么)Chrome不能。所以它什么都不用替换DIV内容。
如果我将文件放在服务器中以便以下列方式访问它,它就可以了:
谢谢大家!