Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性样式,不同页面上出现错误_Javascript - Fatal编程技术网

Javascript 无法读取属性样式,不同页面上出现错误

Javascript 无法读取属性样式,不同页面上出现错误,javascript,Javascript,再一次,我不知道该怎么做……我知道这很基本,但我很难找到它。我正试图隐藏几个ID,它可以工作,但它给了我一个错误…: 未捕获的TypeError:无法读取null的属性“style”,这仅出现在函数未打开的页面上 function new1() { var news = ["1","2","3","4"]; for (var i = 0; i<news.length; i++) { var s =document.getElementById("news"+news[i]

再一次,我不知道该怎么做……我知道这很基本,但我很难找到它。我正试图隐藏几个ID,它可以工作,但它给了我一个错误…: 未捕获的TypeError:无法读取null的属性“style”,这仅出现在函数未打开的页面上

function new1()
{ var news = ["1","2","3","4"];
    for (var i = 0; i<news.length; i++) 
    {
var s =document.getElementById("news"+news[i]).style.display = "none";
     }
}
函数new1()
{var news=[“1”、“2”、“3”、“4”];

对于(var i=0;i使用jQuery.Nice、simple和跨浏览器:

function new1()
{ 
    var news = ["1","2","3","4"];
    for (var i = 0; i<news.length; i++) 
    {
      $('#news' + news[i]).hide();
    }
}
函数new1()
{ 
风险值新闻=[“1”、“2”、“3”、“4”];

对于(var i=0;i索引0、1和2中的元素,循环没有问题,但是查看最后一个元素,即idnews4,JS调用将抛出一个错误,因为没有具有该id的DOM元素

因此,请删除ids数组中的最后一个条目:

function new1() { 
    var news = ["1","2","3","4"];
    for (var i = 0; i<news.length; i++) 
    {
        var newsElement = document.getElementById("news"+news[i]);
        if (newsElement != null) 
        { 
            newsElement.style.display = "none";
        }
    }
}
函数new1(){
风险值新闻=[“1”、“2”、“3”、“4”];

对于(var i=0;我可以提供你的html..我不明白你为什么使用var s?不需要使用var显示你实际调用了JS函数吗?window.onload=function(){disable();review();new1();}它影响了我的一些其他onload函数..由于错误(我想)没关系,我提供了一个你可以看的答案。我没有投反对票…遗憾的是我也没有足够的票数来投反对票=嗯,关于有一条新闻4,看来我在粘贴到stackoverflow时没有选择它:否则你必须看@Jack answer。在尝试给它一个新的diplay样式之前,检查元素是否存在。我更新了我的answer。您好,我尝试了一些代码并进行了一些清理,它像一个符咒一样工作,谢谢=],特别是通过它。天哪,我现在可以投票给那些需要帮助的人:)
function new1() { 
    var news = ["1","2","3","4"];
    for (var i = 0; i<news.length; i++) 
    {
        var newsElement = document.getElementById("news"+news[i]);
        if (newsElement != null) 
        { 
            newsElement.style.display = "none";
        }
    }
}