做getElementsByClassName(等类似的功能getElementsByTagName和querySelectorAll)的工作方式相同getElementById,还是他们返回元素的数组?
我问的原因是因为我试图改变所有元素的样式getElementsByClassName.见下文.
//doesn't work
document.getElementsByClassName('myElement').style.size = '100px';
//works
document.getElementById('myIdElement').style.size = '100px';
Run Code Online (Sandbox Code Playgroud) 我编写了一个php页面,它将mysql数据库中的信息整齐地显示在表格中.我想用onLoad事件处理程序隐藏空表行.
这是一个示例表,其代码隐藏了<td>没有内容的代码.但我只能让它使用不同的ID:
<script type="text/javascript">
function hideTd(id){
if(document.getElementById(id).textContent == ''){
document.getElementById(id).style.display = 'none';
}
}
</script>
</head>
<body onload="hideTd('1');hideTd('2');hideTd('3');">
<table border="1">
<tr>
<td id="1">not empty</td>
</tr>
<tr>
<td id="2"></td>
</tr>
<tr>
<td id="3"></td>
</tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用一个类<td>来实现同样的事情,同时只引用一次类,而不是引用我想删除的每个id,这甚至不适用于我的动态内容.我尝试使用此代码:
<script type="text/javascript">
function hideTd(){
if(document.getElementsByClassName().textContent == ''){
document.getElementsByClassName().style.display = 'none';
}
}
</script>
</head>
<body onload="hideTd('1');">
<table border="1">
<tr>
<td class="1">not empty</td>
</tr>
<tr>
<td class="1"></td>
</tr>
<tr>
<td class="1"></td>
</tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它应该隐藏<td>具有指定类的空s.我如何<td>使用类隐藏空s,而不是ID?
我正在使用Robert Nyman的脚本来获取文档中所有具有相同类的元素,但它不适用于onclick或任何其他事件:
var photo = document.getElementsByClassName("photo_class","img",document.getElementById("photo_wrap"));
photo.onclick = function(){alert("Finaly!");
Run Code Online (Sandbox Code Playgroud)
也许你知道如何解决它?谢谢!
我试图访问div的宽度放入一个cookie.这是div:
<div class="tab_panel" style="width:600px">
Run Code Online (Sandbox Code Playgroud)
它是唯一具有此类名称的div.不能为div指定唯一ID.这是我在事件中使用的代码来调用它但它给出了一个错误:
document.getElementsByClassName(tab_panel).style.width
Run Code Online (Sandbox Code Playgroud)
我知道Firefox支持getElementsByClassName,所以我做错了什么?
我目前遇到了getElementsByClassName属性的问题.我有一个显示和隐藏功能,当你将鼠标悬停在产品上时显示一个按钮点击这里我已经使用getElementById属性启用了这个功能,但是由于我想要使用类重复这个功能是更好的做法.下面的代码是否使用ClassName JS函数解决此问题的正确方法?
另外我一直在阅读IE8中不支持getElementsByClassName这是真的,有没有办法解决这个问题?
<script>
function show(viewProductBtn){
document.getElementByClassName(viewProductBtn).style.visibility = "visible";
}
function hide(viewProductBtn) {
document.getElementByClassName(viewProductBtn).style.visibility = "hidden";
}
</script>
<!--HTML-->
<div class="product-shot-bg" onMouseOver="show('viewProductBtn')" onMouseOut="hide('viewProductBtn')">
<a href="#" class="viewProductBtn"></a>
Run Code Online (Sandbox Code Playgroud)
目前我已将我的开发站点切换回getByID以演示过渡应该如何工作..