如何使用javascript隐藏课程?

时间:2012-03-29 18:03:35

标签: javascript html css

我在一个页面上有文字,它在<h3>标记中,其中有一个类ms-standardheader,但页面上还有其他文本,其中有相同的类<h3>标签。我也知道我要隐藏的文字是“会话”。

有了这个怎样才能编写一个javascript函数来隐藏这个文本?

以下是来自IE的开发工具的图片。

enter image description here

5 个答案:

答案 0 :(得分:1)

我建议,如果您受限制(如标记所示)非库纯JavaScript,请执行以下操作:

var h3s = document.getElementsByTagName('h3'),
    classedH3 = [];

for (var i = 0, len = h3s.length; i < len; i++) {
    if (h3s[i].className.indexOf('ms-standardheader') > -1) {
        classedH3.push(h3s[i]);
    }
}

for (var i = 0, len = classedH3.length; i < len; i++) {
    if (classedH3[i].firstChild.nodeValue == 'the text to hide'){
        classedH3[i].style.display = 'none';
    }
}​

JS Fiddle demo

参考文献:

答案 1 :(得分:0)

如果你有jquery,你可以输入:

$("h3.ms-standardheader:contains('Session')").hide();

答案 2 :(得分:0)

你不能给目标元素一个ID吗?这将使事情变得更加简单。否则,您必须遍历所有<h3>元素,直到找到要隐藏的元素:

var headings = document.getElementsByTagName("h3");
for(var i=0; i<headings.length; i++) {
    var contentElement = headings[i].getElementsByTagName('nobr');
    var content = "";
    if(contentElement.length) {
        content = contentElement[0].textContent ? contentElement[0].textContent : contentElement[0].innerText;
    }
    var content = contentElement.length ? contentElement[0].childNodes[0].nodeValue : '';
    if(headings[i].className == 'ms-standardheader' && content == 'Session') {
         headings[i].style.display = 'none';
    }
}

答案 3 :(得分:0)

你应该试试这个:

 window.onload = function()
  {
      getElementByClass('ms-standardheader');
  }

window.getElementByClass = function(theClass){

 var allHTMLTags=document.getElementsByTagName('*');

  for (i=0; i<allHTMLTags.length; i++) {
       if (allHTMLTags[i].className==theClass) {
               var content  = allHTMLTags[i].innerHTML;
               var search = /session/;
               if (search.test(content))
                  {
                     alert(search);
                     allHTMLTags[i].style.display='none';     
                  }
             }
        }
 }

参见演示http://jsfiddle.net/3ETpf/18/

答案 4 :(得分:0)

在可能的情况下始终支持唯一ID。如果不可能,那么您必须手动遍历DOM以查找您要查找的元素。以下是使用getElementsByTagName()的示例。

var i, header, headers = document.getElementsByTagName('h3');

for (i = 0; i < headers.length; i += 1) {
    header = headers[i];
    if (header.className === 'ms-standardheader' &&
            (header.textContent || header.innerText) === 'Session') {
        header.style.display = 'none';
    }
}

请参阅:http://jsfiddle.net/whP5z/