3

我刚刚遇到了一个非常严重的 jQuery 问题。我想使用 jQ 创建一个元素。就像我尝试的常规方式一样:jQuery('<a href="http://www.google.com"></a>');

但这不起作用。所以我尝试了几种不同的元素类型和属性。事实证明,我无法使用包含href="".

  • jQuery('<a id="id5" name="link"></a>');将工作
  • jQuery('<a id="id5" name="link" href=""></a>');不会工作

这个问题是否有任何已知问题或解决方法?感谢您的建议……</p>

编辑:

澄清一下:我不想使用已知属性创建元素。我有一个返回准备好的 HTML 代码的函数。我想使用这段代码来提取图像标签,然后获取它的属性。我不知道返回的 HTML 是否会是相同的结构。我只知道它包含一个图像标签。这是我之前使用的代码:

jQuery(html).find('img:first').attr('class').match(/\image-(\d+)\b/)[1]
4

4 回答 4

24

我会使用不同的方法:

var newLink = $("<a />", {
    id : "id5",
    name : "link",
    href : "http://www.google.com/",
    text : "some text"
});
于 2013-04-19T10:00:51.530 回答
5

这应该有效(经过测试):

var thelink = $('<a>',{
    text: 'linktext',
    title: 'some title',
    href: 'somelink.html'
}).appendTo('body');
于 2013-04-19T10:01:20.930 回答
3
var a = document.createElement('a');
$(a).attr('href','index.html').attr('id','xyz').addClass('example');
于 2013-04-19T10:07:17.040 回答
0

经过一些进一步的试验和错误,结果证明这是一个关于 Safari 的问题。在 Chrome 中,我的代码效果很好。

我终于得到了修复。我只是将从函数返回的 HTML 字符串包装到<div>标签中:

html = "<div>" + html + "</div>";
于 2013-04-19T10:50:46.493 回答