使用.html()隐藏<div>中的内容,而不隐藏内部<div> </div> </div>

时间:2014-12-04 10:07:48

标签: javascript jquery html css ajax

我有以下由C#生成的HTML代码:

<div class="more-news-items" id="@id">
    <p>Content goes here</p>
    <div style="text-align:center">
       <button class="newsfeed-hide">TOON MINDER</button>
       <button class="newsfeed-more">TOON MEER</button>
    </div>
</div>

我想隐藏

<p>Content goes here</p>

使用以下Javascript代码,但我想保持按钮仍然在div中。我如何实现这一点,如果不可能,我该怎么做?

$(document).ready(function () {

    div.find('.newsfeed-hide').click(function () {

        $('.more-news-items').html('');
    });

});

2 个答案:

答案 0 :(得分:3)

尝试:

$(document).ready(function () {

    $('.newsfeed-hide').click(function () {
        $(this).parent().siblings('p').hide();
    });

});

这会隐藏一个p,它们是按钮所在父级的兄弟姐妹。

但是其他帖子也是正确的,就像你想隐藏所有p在div .more-news-items中的一样,你可以使用{{1}来选择它相反。根据您使用此代码的确切情况(例如,如果您将拥有多个区域,并且只希望删除所有区域中的所有$('.more-news-items p'),或仅删除按钮本地的区域。< / p>

编辑:

同时删除p,这将删除$('.more-news-items').html(''); div中的所有html,你不想在这里做。

以下是实例:http://jsfiddle.net/lee_gladding/dujc66qd/

答案 1 :(得分:3)

尝试

$(document).ready(function () {
  $('.newsfeed-hide').click(function () {
     $('div.more-news-items').children('p').hide();
  });
});

OR

$(document).ready(function () {
   $('.newsfeed-hide').click(function () {
      $('div.more-news-items p').hide();
   });
});

OR

$(document).ready(function () {
   $('.newsfeed-hide').click(function () {
      $(this).parent().siblings('p').hide();
   });
});