-1

我有一个要通过函数传递的 HTML 字符串,并且我希望能够从函数内部对该变量执行 Jquery 方法 - 例如.attr('href')or .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/

4

3 回答 3

7

您需要创建一个 jQuery 对象link才能在其上使用 jQuery 方法。尝试:

not = $(link).text();

演示:http: //jsfiddle.net/dfgYK/1/

根据您正在使用的内容link,在您的代码中更早地执行此操作可能会有所帮助,这样您就可以使用以下内容:

var $link = $(link);
console.log(link.text());
于 2013-05-08T20:28:47.420 回答
0

你可以通过传入一个字符串来创建一个不属于 DOM 的 jQuery 对象:

link = $('<a href="http://www.google.com">Google</a>');

然后,jQuery 方法将对其进行处理:

var text = link.text();
于 2013-05-08T20:29:40.060 回答
0

改为使用 jQuery 创建链接:

var link = $('<a />', {
    href: "http://www.google.com",
    text: "Google"
});

然后,您可以按照自己的意愿访问它的属性link.text()

于 2013-05-08T20:32:23.687 回答