我正在使用jquery创建一些Ajax请求,代码显然工作正常;但是当我用firebug检查代码时,我发现请求会生成一些意外的 a 标记。脚本是:
$.ajax({
url: '/some/request/',
type: 'GET',
success: function(data){
$('#main').html(data);
// To see the error I do this:
alert(data);
alert($('#main').html());
}
});
警报会返回如下内容:
警报(数据) - >
<div class="list">
<ul>
<li><a href="javascript:void(0);">Option 1</a></li>
<li><a href="javascript:void(0);">Option 2</a></li>
<li><a href="javascript:void(0);">Option 3</a></li>
</ul>
</div>
警报($( '#主')的html()) - &GT;
<div class="list">
<a></a>
<ul>
<a></a>
<li><a href="javascript:void(0);">Option 1</a></li>
<li><a href="javascript:void(0);">Option 2</a></li>
<li><a href="javascript:void(0);">Option 3</a></li>
</ul>
</div>
第二次返回添加了一些额外的标签 a ...我不知道为什么方法$('#main')。html(data)正在以这种方式工作。
编辑更多信息:
答案 0 :(得分:1)
根据您的小提琴,您的锚标签未正确关闭。请参阅下面的更正字符串:
var data = '<div id="main-header"><ul id="breadcrumb"><li class="crumb"><a href="#/">option 1</a></li><li class="crumb"><a href="#/">option 2</a></li></ul>';
//Changed: <a href="#/">option 2<a>
//To: <a href="#/">option 2</a>