相关疑难解决方法(0)

querySelectorAll和getElementsBy*方法返回什么?

getElementsByClassName(等类似的功能getElementsByTagNamequerySelectorAll)的工作方式相同getElementById,还是他们返回元素的数组?

我问的原因是因为我试图改变所有元素的样式getElementsByClassName.见下文.

//doesn't work
document.getElementsByClassName('myElement').style.size = '100px';

//works
document.getElementById('myIdElement').style.size = '100px';
Run Code Online (Sandbox Code Playgroud)

javascript dom-traversal getelementsbyclassname

125
推荐指数
8
解决办法
8万
查看次数

getElementsByClassName不起作用

我编写了一个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?

javascript webforms html-table dynamic-data

13
推荐指数
1
解决办法
11万
查看次数

getElementsByClassName onclick问题

我正在使用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)

也许你知道如何解决它?谢谢!

javascript

13
推荐指数
2
解决办法
4万
查看次数

在Javascript中这个getElementsByClassName调用有什么问题?

我试图访问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,所以我做错了什么?

javascript

2
推荐指数
1
解决办法
1万
查看次数

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以演示过渡应该如何工作..

html javascript

1
推荐指数
1
解决办法
654
查看次数