我刚刚遇到了一个非常严重的jQuery问题。我想用jQ创建一个元素。就像我尝试的常规方式一样:jQuery('<a href="http://www.google.com"></a>');
但这确实不工作。所以我尝试了几种不同的元素类型和属性。事实证明,我无法使用包含href=""
的HTML创建元素。
jQuery('<a id="id5" name="link"></a>');
即可使用jQuery('<a id="id5" name="link" href=""></a>');
将不工作。这个问题是否有任何已知问题或解决方法?谢谢你的建议...
编辑:
澄清:我不想使用已知属性创建元素。我有一个函数返回一个准备好的HTML代码。我想使用此代码提取图像标记,然后获取其属性。我不知道返回的HTML是否是相同的结构。我只知道它包含一个图像标签。这是我之前使用的代码:
jQuery(html).find('img:first').attr('class').match(/\image-(\d+)\b/)[1]
答案 0 :(得分:20)
我会使用不同的方法:
var newLink = $("<a />", {
id : "id5",
name : "link",
href : "http://www.google.com/",
text : "some text"
});
答案 1 :(得分:4)
这应该有效(测试):
var thelink = $('<a>',{
text: 'linktext',
title: 'some title',
href: 'somelink.html'
}).appendTo('body');
答案 2 :(得分:3)
var a = document.createElement('a');
$(a).attr('href','index.html').attr('id','xyz').addClass('example');
答案 3 :(得分:0)
经过一些进一步的试验&amp;错误结果表明这是关于Safari的问题。在Chrome中,我的代码效果很好。
我终于得到了修复。我只是将我从函数中返回的HTML字符串包装到<div>
标记中:
`html = "<div>" + html + "</div>";`