jQuery创建一个带有href属性的链接

3
我刚遇到了一个严重的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]

1
尝试使用jQuery('body').append('<a href="#" name="link">Link</a>'); - Brijesh Eshwar
4个回答

24

我会采用不同的方法:

var newLink = $("<a />", {
    id : "id5",
    name : "link",
    href : "http://www.google.com/",
    text : "some text"
});

var a = document.createElement("a"); a.setAttribute("anything-you-want", "attr value"). - 更多信息请参见 https://developer.mozilla.org/pt-BR/docs/Web/API/Element/setAttribute - Renan C

7

这应该可以正常工作(已测试):

var thelink = $('<a>',{
    text: 'linktext',
    title: 'some title',
    href: 'somelink.html'
}).appendTo('body');

3
var a = document.createElement('a');
$(a).attr('href','index.html').attr('id','xyz').addClass('example');

0

经过一些进一步的尝试和错误,发现这是关于 Safari 的问题。在 Chrome 中我的代码运行良好。

最终我得到了一个解决方案。我只需将从函数返回的 HTML 字符串包装在 <div> 标签中:

html = "<div>" + html + "</div>";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接