Javascript jQuery-console.log()返回一个元素,但我可以';我无法访问它
我碰巧遇到了超级愚蠢的问题,我被卡住了 我使用console.log(数据),我得到的是:Javascript jQuery-console.log()返回一个元素,但我可以';我无法访问它,javascript,jquery,Javascript,Jquery,我碰巧遇到了超级愚蠢的问题,我被卡住了 我使用console.log(数据),我得到的是: <a href='http://www.someurl.com'>caption</a> 使用jQuery,您可以执行以下操作: var data = "<a href='http://www.someurl.com'>caption</a>"; var link = $(data).attr('href'); var数据=”; var link=$
<a href='http://www.someurl.com'>caption</a>
使用jQuery,您可以执行以下操作:
var data = "<a href='http://www.someurl.com'>caption</a>";
var link = $(data).attr('href');
var数据=”;
var link=$(data.attr('href');
它将动态地创建您的DOM元素,然后您将能够获取属性href。您应该首先了解
数据是什么类型的。为此,可以使用JavaScript内置函数typeof(data)
它不是一个物体。这就是为什么它没有定义。首先
在您的例子中,数据是一个字符串,而不是jQuery对象,因此没有jQuery的方法(如text
)
如果确定data
是包含链接的字符串,则可以使用正则表达式提取链接,如下所示:
var match = data.match(/href='(.*)'/g);
url = match && match[1];
console.log(url);
或者,可以从字符串创建jQuery对象。但是,如果您只想获取url,那么这是一个非常昂贵的操作。问题在于它是一个字符串。你调用的方法只对jQuery对象有效,而对字符串无效。天哪,我真傻,我一直在尝试将它转换为对象,但那时候它就不起作用了。它现在起作用了,所以我责备打字错误。谢谢:)
var _videourl = $(videourl);
console.log(_videourl.text());
console.log(_videourl.attr('href'));
// caption (index)
// http://www.someurl.com
var match = data.match(/href='(.*)'/g);
url = match && match[1];
console.log(url);