javascript – getElementsByClassName()不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – getElementsByClassName()不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2243字,纯文字阅读大概需要4分钟。
内容图文
![javascript – getElementsByClassName()不起作用](/upload/InfoBanner/zyjiaocheng/753/b62491ca3ec746e8a3a3afe83d6a65f0.jpg)
参见英文答案 > What do querySelectorAll and getElementsBy* methods return? 9个
以下代码是按字母顺序对表单列表选项进行排序,但’getElementsByClassName()’不起作用,我无法弄清楚原因.
我正在使用最新的jQuery.
window.onload=function(){
function sortlist() {
var cl = document.getElementsByClassName('car_options');
var clTexts = new Array();
for(i = 1; i < cl.length; i++) {
clTexts[i-1] =
cl.options[i].text.toUpperCase() + "," +
cl.options[i].text + "," +
cl.options[i].value;
}
clTexts.sort();
for(i = 1; i < cl.length; i++) {
var parts = clTexts[i-1].split(',');
cl.options[i].text = parts[1];
cl.options[i].value = parts[2];
}
sortlist();
}
在身体部分
<form action="" method="get">
<p><label for="car_make"></label>
<select id="car_make" class="car_options" name="car_make">
<option value="">By Make</option>
<option value="Vauxhall">Vauxhall</option>
<option value="BMW">BMW</option>
<option value="Toyota">Toyota</option>
<option value="Lexus">Lexus</option>
<option value="Audi">Audi</option>
<option value="Ford">Ford</option>
</select>
<label for="car_color"></label>
<select name="car_color" id="car_color" class="car_options">
<option value="">By Color</option>
<option value="Red">Red</option>
<option value="Blue">Blue</option>
<option value="Black">Black</option>
<option value="Grey">Grey</option>
</select>
<input type="submit" name="search" id="search" value="Search">
</form>
解决方法:
使用document.getElementsByClassName(‘car_options’)[0]
getElementsByClassName返回一组具有所有给定类名的元素.
如果你有多个元素,那么我们必须迭代它.喜欢
var elements = document.getElementsByClassName('car_options');
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener('click', function() {
}, false);
}
注意:在IE中,IE9支持它
编辑
更新的代码
function sortlist() {
var elements = document.getElementsByClassName('car_options');
for (var j = 0; j < elements.length; j++) {
var cl = elements[j];
var clTexts = new Array();
for (i = 1; i < cl.options.length; i++) {
clTexts[i - 1] = cl.options[i].text.toUpperCase() + "," + cl.options[i].text + "," + cl.options[i].value;
}
clTexts.sort();
for (i = 1; i < cl.options.length; i++) {
var parts = clTexts[i - 1].split(',');
cl.options[i].text = parts[1];
cl.options[i].value = parts[2];
}
}
}
内容总结
以上是互联网集市为您收集整理的javascript – getElementsByClassName()不起作用全部内容,希望文章能够帮你解决javascript – getElementsByClassName()不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。