JQuery - 从变量中的HTML字符串中获取attr / text

时间:2013-05-08 20:26:57

标签: javascript jquery

我有一个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);

http://jsfiddle.net/dfgYK/

3 个答案:

答案 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()访问其属性。