在javascript中选择元素和类名

Joe*_*Joe 2 html javascript jquery dom traversal

我有一个 onChange 事件,它需要动态选择一个 ID,然后添加一个预设的类名以传递给一个函数。

onChange = "show(document.getElementById(this.value). {select a class here? } );"
Run Code Online (Sandbox Code Playgroud)

jquery中的等价物

$('#'+this.value+'.myclassname').function();
Run Code Online (Sandbox Code Playgroud)

那么如何在javascript中选择ID+classname呢?我知道我很密集。

ale*_*lex 5

您需要使用类名吗?ID 应该是唯一的。

var element = document.getElementById('myId');
Run Code Online (Sandbox Code Playgroud)

或者说element是父母,你想要一个有班级的孩子

var elements = element.getElementsByTagName('*');

var newElements = [];

for (var i = 0, length = elements.length; i < length; i++) {

    if ((' ' + elements[i].className + ' ').indexOf(' yourClassName ') > -1) {
         newElements.push(elements[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码基本上遍历了所有孩子,并用于indexOf()测试您的班级是否存在。如果找到它,它会将它推送到新数组上。