我有一个HTML字符串,我正在通过一个函数,我希望能够从函数内部对该变量执行Jquery方法 - 例如.attr('href')
或.text()
。我确信有一个简单的解决方案,更优雅然后临时附加DOM。
HTML
<div class="here"></div>
的Javascript
link = '<a href="http://www.google.com">Google</a>';
// This works
$('.here').html(link);
works = $('.here').text();
console.log(works);
// This doesn't
not = link.text();
console.log(not);
答案 0 :(得分:7)
您需要从link
创建一个jQuery对象,以便在其上使用jQuery方法。尝试:
not = $(link).text();
DEMO: http://jsfiddle.net/dfgYK/1/
根据您使用link
所做的事情,在代码中提前执行此操作可能会有所帮助,以便您可以使用以下内容:
var $link = $(link);
console.log(link.text());
答案 1 :(得分:0)
您可以通过在:
中传递字符串来创建不属于DOM的jQuery对象link = $('<a href="http://www.google.com">Google</a>');
然后,jQuery方法将对它起作用:
var text = link.text();
答案 2 :(得分:0)
使用jQuery创建链接:
var link = $('<a />', {
href: "http://www.google.com",
text: "Google"
});
然后您可以按照自己想要的link.text()
访问其属性。