这有点难以言喻,所以我希望你理解它:
我在变量中有一整页。我需要能够对它执行getElementsByClassName。但是如何?
我试过了:
$.get( base_url, function( data ) {
var something = data.getElementsByClassName('.user_name');
});
答案 0 :(得分:4)
如果您的网址返回HTML,data
是一个字符串。既然你正在使用jQuery,你可以让jQuery为你解析它:
var dom = $(data);
然后你可以在那组断开的元素上使用所有常用的jQuery方法,所以:
var userNames = dom.find(".user_name");
如果不是使用jQuery,您可以让浏览器将其解析为元素:
var div = document.createElement('div');
div.innerHTML = data;
...然后在该断开连接的div上使用DOM方法。不过,我不会使用getElementsByClassName
; querySelectorAll
有更好的支持;基本上,它在所有现代浏览器和IE8中,但IE8没有getElementsByClassName
。
var userNames = div.querySelectorAll(".user_name");
答案 1 :(得分:1)
您正在将纯javascript与JQuery混合
试试这个
data.getElementsByClassName('user_name');
而不是
data.getElementsByClassName('.user_name');