jQuery函数不能处理文档加载

Mil*_*dia 1 javascript jquery document-ready

我有一个jQuery函数,通常在Volusion页面上工作,由于某种原因现在它不起作用.location.pathname.indexOf定位具有该URL的所有页面(该站点使用GET变量在SearchResults.asp页面上执行搜索).我已经将引用从单打改为双打,我似乎无法找出其他任何东西来测试它.有没有人在这段代码中看到任何语法错误?不应该有任何冲突,因为它只运行jQuery(没有其他像MooTools).我试图在document.ready之后做一个'Test'警报,但屏幕上没有任何反应.谢谢!

<script>
$(document).ready(function() {  
    if (location.pathname.indexOf('/SearchResults.asp') != -1 ) {
        $('div#content_area').css({'display','none !important'});         
    }
});
</script>
Run Code Online (Sandbox Code Playgroud)

Nop*_*ope 8

您有语法错误.

这个:

$('div#content_area').css({'display', 'none !important'});
Run Code Online (Sandbox Code Playgroud)

应该是这样的:

$('div#content_area').css({'display': 'none !important'});
//                                  ^
//                                  |
//                                  | look here
Run Code Online (Sandbox Code Playgroud)

使用.css()时,您可以使用2种变体.

您可以使用它来更新单个属性,该属性使用,以分隔CSS属性的名称和值,类似于:

$('div#content_area').css('display', 'none !important');
Run Code Online (Sandbox Code Playgroud)

或者您可以使用jQuery 1.9中添加的新变体,它允许您一次指定多个样式,允许您指定属性 - 值对,类似于:

$('div#content_area').css({
    'display': 'none !important',
    'border' : 'solid 1px red'
});
Run Code Online (Sandbox Code Playgroud)

css()和!重要


尝试使用.css()和应用样式时似乎存在问题!important.很久以前就出现了一个错误:机票#2066已关闭,另一个选项显示在勾选中.

它提到,作为替代方案,您可以cssText在使用多样式变体时设置类似的内容:

$('div#content_area').css({
    'cssText': 'display: none !important'
});
Run Code Online (Sandbox Code Playgroud)

或使用单一样式变体时:

$('div#content_area').css('cssText', 'display: none !important');
Run Code Online (Sandbox Code Playgroud)

但是,正如提到的那样,提醒一句:

你必须小心设置,cssText因为它设置/清除css中该元素的所有内容.

另一种替代方案,最有可能是最安全的,给出副作用cssText,是创建一个单独的CSS类并应用它,类似于:

.alwaysHide{
    display: none !important;
}
Run Code Online (Sandbox Code Playgroud)
$('div#content_area').addClass('alwaysHide');
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 伙计,那里有一些鹰眼! (3认同)
  • @ShazboticusSShazbot不,它不会,因为它是一个对象. (2认同)