0

我知道关于这个问题有很多答案,但我已经阅读了所有我能找到的东西,但仍然无法让它发挥作用。

我有一个 div,如果另一个 div 是空的,或者只包含空格,我需要隐藏它。

<div id="rt-main" class="mb12">
    <div class="rt-grid-12">
        <div class="rt-block component-block main-overlay-light">
            <div id="rt-mainbody">
                <div class="component-content">
                    <div class="blog-featured"></div>

(当 div blog-featured = ' ' 时我想隐藏 div.mb12 )

我最接近的赌注是:

$(document).ready(function() {
   str = $('div.section').text();
   if($.trim(str) === "") {
     $('div.section').hide();
   }
});

但是我在尝试时在控制台中遇到了各种错误。

现在我得到了“TypeError:无法调用 null 的方法‘text’”

4

3 回答 3

1

在实际站点(未包含在问题中)上,您有以下内容:

jQuery.noConflict();

这使得它$不再是 jquery。很可能是因为您包含的许多其他库之一使用了该$名称。您可以简单地更改代码以jQuery代替$

jQuery(document).ready(function() { ...

或者,您可以将 jQuery 分配给不同的变量名称:

var $j = jQuery.noConflict();

$j(document).ready(function(){ ...
于 2013-06-17T21:42:19.350 回答
0

你要这个 -

jQuery(document).ready(function () {
    var str = jQuery('div.blog-featured').text();
    if (jQuery.trim(str) === "") {
        jQuery('div.mb12').hide();
    }
});

演示---> http://jsfiddle.net/PqXWJ/20/

于 2013-06-17T20:55:48.003 回答
0

您是否在脚本之前加载 jQuery 库?<head>你的页面标签中有类似的东西吗?

    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    </head>

    <script type="text/javascript">
        $(document).ready(function() {
        etc etc
    </script>
于 2013-06-17T21:11:40.290 回答