2013-02-11 49 views
0

我有一个页面使用jQuery来构建基于现有HTML元素的链接和锚定标记。它适用于除IE之外的所有浏览器,其中锚标签的输出有点不同。动态生成的链接无法在IE中工作

其他浏览器:

<a class="courseshortcut" name="TitleJanuary12-13,2013"></a> 

Internet Explorer中:

<a name="TitleJanuary12-13,2013" class="courseshortcut"/> 

生成的链接,这些锚标签是这样的:

<a href="#TitleJanuary12-13,2013">January 12-13, 2013 - Miami, FL</a> 

代码的文档中的以下部分.ready函数添加锚点:

//adds the anchor tags 
$('.courseentry').each(function() { 
    var str = $(this).find('.coursetitle').html() + $(this).find('.coursedate').html();  
    $(this).prepend("<a class='courseshortcut' name='" + str.replace(/\s+/g, '') + "'></a>"); 
}); 

我不明白为什么会发生这个问题。有人能够启发我吗?测试脚本的更完整版本可以在here找到。

+1

这有什么错呢? – SLaks 2013-02-11 22:59:25

+0

@ SLaks-无效HTML以外的其他内容? – RobG 2013-02-11 23:04:56

+0

对不起,我应该更具体。 这些链接在IE中不起作用。在我的测试页面上,它们可以与Safari,Chrome,Firefox一起使用。 – Drew02 2013-02-11 23:06:07

回答

0

您的页面中存在一些无效的HTML。请在IE中打开并在开发人员工具(F12)中查看。例如<div> is inside <p> find this link for more information

+0

我在IE开发者视图中没有收到任何错误。我继续前进并清理了一下页面,所以当我使用w3.org验证页面时不再有任何错误。指向标签的链接在IE中仍然不起作用。 – Drew02 2013-02-12 15:37:47

-1

我认为IE包括hashtag

href="#TitleJanuary12-13,2013" 

之前需要一个文件名或URL,但我可以站在纠正