如何将Javascript变量用作DOM

时间:2014-07-21 08:58:26

标签: javascript jquery

这有点难以言喻,所以我希望你理解它:

我在变量中有一整页。我需要能够对它执行getElementsByClassName。但是如何?

我试过了:

$.get( base_url, function( data ) {
 var something = data.getElementsByClassName('.user_name');
});

2 个答案:

答案 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');