<script type="text/javascript">
function getElementsByClassName (className) {
var all = document.getElementsByTagName('*');
var elements = new Array();
for (var e = 0; e < all.length; e++) {
if (all[e].className == className) {
elements[elements.length] = all[e];
break;
}
}
return elements;
}
window.onload = function(){
var watch = document.getElementById('watchmore');
var op = document.getElementsByTagName('p').getElementsByClassName('none');
watch.onlick = function(){
if(watch.innerHTML == "显示"){
for(var i=0; i<op.length; i++){
op[i].style.display = "block";
watch.innerHTML = "隐藏";
}
}
else {
for(var i=0; i<op.length; i++){
op[i].style.diaplay = "none";
watch.innerHTMl = "查看更多";
}
}
}
}
</script>
为什么当我点击那个按钮的时候,提示document.getElementsByTagName(...).getElementsByClassName is not a function
直接document.getElementsByClassName('none');这样用
你这样的链式调用肯定有问题啊,document.getElementsByTagName('p') 得到的是一个DOM节点 NodeList,NodeList是没有 getElementsByClassName 方法的。
你用原生的JS方法的话应该是要去遍历 NodeList
或者你可以用JQuery这样的框架,用选择器比较方便
显然是不对的