如何在不知道javascript中的id / class / tag的情况下分配给HTML元素?

时间:2017-07-18 12:55:52

标签: javascript

我根本不是在讨论jquery,但是使用jquery,很容易使用对象。像这样:

$(selector)

因此,selector可以是:一个字符串(可以包含id,类名,标记名,属性......)或对象。我打电话给它:wrap the selector by $()

我可以使用javascript(document.get(selector))做同样的事情吗?

我已经创建了一个接受HTML对象的函数。我想改变它的风格。

HTML:

<div></div>

脚本:

var changeCSS = function (selector) {
    // I DON'T WANT TO USE jQuery HERE

    // these function doesn't work to target the object (I'd tried)
    // because I'm not sure the selector has an id, class name... or not

    // document.getElementById
    // document.getElementsByClassName
    // document.getElementsByName
    // document.getElementsByTagName
    // document.querySelector

    // my goal looks like: (wrap the selector by 'get' function)
    selector = document.get(selector);

    selector.style.width = '100px';
    selector.style.height = '100px';
};

let selector = $('div')[0]; // not contain id, class name...
changeCSS(selector);

在我的项目中,changeCSS是一个插件,在使用之前不需要jquery。但是我在另一个地方使用了jquery。

总之,我想知道如何转换(HTML对象,而不是字符串)

<div></div>

到选择器?

谢谢!

2 个答案:

答案 0 :(得分:1)

querySelectorquerySelectorAll方法接受包含选择器的字符串,并分别返回Element或非实时NodeList。

您可以在document或元素对象上调用它们。

答案 1 :(得分:0)

  

jQuery选择器允许您选择和操作HTML元素。

     

jQuery选择器用于“查找”(或选择)基于的HTML元素   他们的名字,身份,类,类型,属性,属性值和   多得多。它基于现有的CSS选择器,此外,   它有一些自己的自定义选择器。

如果您正在尝试复制jQuery的选择器功能:

document.querySelector(.class or tag or #id);