Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.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
为什么这个改变css id的Javascript命令不起作用?_Javascript_Css - Fatal编程技术网

为什么这个改变css id的Javascript命令不起作用?

为什么这个改变css id的Javascript命令不起作用?,javascript,css,Javascript,Css,我试图为我的picinercss类设置背景图像,但它不起作用,所以我甚至尝试更改背景颜色: function changeBackground() { $('.PicInner').css('background', 'orange'); } 我尝试过在没有类选择器的的情况下使用它,但这也不起作用。什么可以覆盖这一点 我知道函数正在被调用,因为我插入了一个警报(“Hello!”)行,每次我刷新页面时它都会弹出,但是我的.piciner类的背景颜色没有改变。我已经在我的piciner类的

我试图为我的
piciner
css类设置背景图像,但它不起作用,所以我甚至尝试更改背景颜色:

function changeBackground()
{
    $('.PicInner').css('background', 'orange');
}
我尝试过在没有类选择器的
的情况下使用它,但这也不起作用。什么可以覆盖这一点

我知道函数正在被调用,因为我插入了一个
警报(“Hello!”)行,每次我刷新页面时它都会弹出,但是我的
.piciner
类的背景颜色没有改变。我已经在我的
piciner
类的F12编辑器中更改了背景,它工作得很好,只是javascript似乎没有为我改变任何东西

我哪里会出错

相关的html部分是

<script>

    changeBackground();

    function changeBackground()
    {
        alert("HELLO!");
        ('.PicInner').css('background', 'orange');
    }
</script>

<link rel="stylesheet" type="text/css" href="~/css/CJBStyles.css">

<div class="wContainer">
    <div class="cjb-bkg">
        <div class="PicInner">
            <h3>Bespoke Kitchens, bathrooms and fittings</h3>
            <h3>Prestigious and high quality</h3>
        </div>
    </div>
</div>

如果使用jQuery选择器,则必须包含jQuery库。否则,您可以使用纯JavaScript(我建议您这样做)

此外,您还必须在事件上运行函数(我看到您已经编辑了问题,现在正在运行函数
onload
):

函数changeBackground(){
var elm=document.querySelector('.PicInner');
elm.style.backgroundColor='橙色'
}
.PicInner{
背景:rgba(255,255,255,0.8);
填充:10px;
文本对齐:居中;
位置:相对位置;
}

定制厨房、浴室和配件

运行函数如果使用jQuery选择器,则必须包含jQuery库。否则,您可以使用纯JavaScript(我建议您这样做)

此外,您还必须在事件上运行函数(我看到您已经编辑了问题,现在正在运行函数
onload
):

函数changeBackground(){
var elm=document.querySelector('.PicInner');
elm.style.backgroundColor='橙色'
}
.PicInner{
背景:rgba(255,255,255,0.8);
填充:10px;
文本对齐:居中;
位置:相对位置;
}

定制厨房、浴室和配件

运行函数以下是在“页面加载”事件中触发的函数:

函数changeBackground(){
var elm=document.querySelector('.PicInner');
elm.style.backgroundColor='橙色'
}
changeBackground()
.PicInner{
背景:rgba(255,255,255,0.8);
填充:10px;
文本对齐:居中;
位置:相对位置;
}

定制厨房、浴室和配件

以下是在“页面加载”事件中触发的函数:

函数changeBackground(){
var elm=document.querySelector('.PicInner');
elm.style.backgroundColor='橙色'
}
changeBackground()
.PicInner{
背景:rgba(255,255,255,0.8);
填充:10px;
文本对齐:居中;
位置:相对位置;
}

定制厨房、浴室和配件

好的,您的主要问题似乎源于对
$('.piciner')
功能的混淆。此表达式不返回CSS类本身。相反,它搜索在该时间点具有此类的所有HTML元素-,并返回这些元素的集合(类似于数组,但带有额外的方法)。然后,当您执行
.css('background','orange')
时,您实际上是在分别设置它们的
style
属性。您不是在修改CSS类本身


考虑到这一点,代码没有做任何事情的原因变得显而易见——文档被加载,代码被按顺序执行。在执行此代码时,尚未加载带有
class=“piciner”
的HTML元素。所以什么也没发生。

好吧,你的主要问题似乎源于对
$('.piciner')
的功能的混淆。此表达式不返回CSS类本身。相反,它搜索在该时间点具有此类的所有HTML元素-,并返回这些元素的集合(类似于数组,但带有额外的方法)。然后,当您执行
.css('background','orange')
时,您实际上是在分别设置它们的
style
属性。您不是在修改CSS类本身


考虑到这一点,代码没有做任何事情的原因变得显而易见——文档被加载,代码被按顺序执行。在执行此代码时,尚未加载带有
class=“piciner”
的HTML元素。所以什么也没发生。

在哪里/什么时候调用
changeBackground
函数?您是否加载了jQuery?你能显示相关的html吗?它是
picInner
还是
picInner
?也许是打字错误,以防万一?如果没有,那么
alert($('.piciner').length)
会说什么?因为您使用的是jQuery代码,并且没有任何vanila javascript?是的,这是jQuery而不是普通的javascript,在添加jQuery后,您可能会有一个css层次结构,而不仅仅是
changeBackground()$(function(){changeBackground();})changeBackground
函数?您是否加载了jQuery?你能显示相关的html吗?它是
picInner
还是
picInner
?也许是打字错误,以防万一?如果没有,那么
alert($('.piciner').length)
会说什么?因为您使用的是jQuery代码,并且没有任何vanila javascript?是的,这是jQuery而不是普通的javascript,在添加jQuery后,您可能会有一个css层次结构,而不仅仅是
changeBackground()$(function(){changeBackground();})因为函数
.PicInner{
    background: rgba(255,255,255,0.8);
    padding: 10px;
    text-align:center;
    position: relative;
}