jQuery 创建一个带有 href 属性的
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16102024/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
jQuery create a with href attribute
提问by Julian F. Weinert
I just faced a very serious issue with jQuery. I wanted to create an element using jQ. Like the regular way I tried: jQuery('<a href="http://www.google.com"></a>');
我刚刚遇到了一个非常严重的 jQuery 问题。我想使用 jQ 创建一个元素。就像我尝试的常规方式一样:jQuery('<a href="http://www.google.com"></a>');
But this does notwork. So I tried several different element types and attributes. It turned out that I am not able to create elements with HTML containing href=""
.
但是,这并不能正常工作。所以我尝试了几种不同的元素类型和属性。事实证明,我无法创建包含 .html 的元素href=""
。
jQuery('<a id="id5" name="link"></a>');
will workjQuery('<a id="id5" name="link" href=""></a>');
will notwork.
jQuery('<a id="id5" name="link"></a>');
将工作jQuery('<a id="id5" name="link" href=""></a>');
将无法正常工作。
Is there any know issue or workaround for this problem?? Thanks in advice…
这个问题有任何已知问题或解决方法吗?谢谢指教…
EDIT:
编辑:
To clarify: I don't want to create an element using known attributes. I have a function that returns a ready HTML code. I want to use this code to extract the image tag and then get its attributes. I don't know if the returned HTML will be the same structure. I just know that it contains an image tag. Here is the code I used before:
澄清:我不想使用已知属性创建元素。我有一个返回准备好的 HTML 代码的函数。我想用这段代码来提取图像标签,然后获取它的属性。我不知道返回的 HTML 是否是相同的结构。我只知道它包含一个图像标签。这是我之前使用的代码:
jQuery(html).find('img:first').attr('class').match(/\image-(\d+)\b/)[1]
回答by VisioN
I would use different approach:
我会使用不同的方法:
var newLink = $("<a />", {
id : "id5",
name : "link",
href : "http://www.google.com/",
text : "some text"
});
回答by Yeronimo
This should work (tested):
这应该有效(经过测试):
var thelink = $('<a>',{
text: 'linktext',
title: 'some title',
href: 'somelink.html'
}).appendTo('body');
回答by som
var a = document.createElement('a');
$(a).attr('href','index.html').attr('id','xyz').addClass('example');
回答by Julian F. Weinert
After some further trial & error it turned out that this is an issue regarding Safari. In Chrome my code works great.
经过一些进一步的反复试验,结果证明这是一个关于 Safari 的问题。在 Chrome 中,我的代码运行良好。
I finally got a fix. I just wrap the HTML string I'm getting back from the function into <div>
tags:
我终于得到了修复。我只是将我从函数返回的 HTML 字符串包装到<div>
标签中:
html = "<div>" + html + "</div>";