当另一个div为空时隐藏div

时间:2013-06-17 20:52:31

标签: javascript jquery joomla

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

我有一个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的文本”

3 个答案:

答案 0 :(得分:1)

在实际网站上(未包含在问题中),您有:

jQuery.noConflict();

这使得$不再是jquery。很可能是因为您包含的许多其他库中的一个使用$名称。您只需更改代码即可使用jQuery代替$

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

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

var $j = jQuery.noConflict();

$j(document).ready(function(){ ...

答案 1 :(得分: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/

答案 2 :(得分: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>