1

我正在尝试使用 JQuery 片段来隐藏 SharePoint 上的一些内容。它可以在没有<p>元素的情况下工作,但 SharePoint 在两者之间有很多东西,div所以我认为这就是它不起作用的原因。

查询:

jQuery(document).ready(function() {
jQuery(".ms-wpcontentdivspace").hide();
//toggle the componenet with class msg_body
jQuery(".ms-webpart-chrome-title").click(function(e)
 {
   e.preventDefault();
   jQuery(this).next("div.ms-wpcontentdivspace").slideToggle(200);
 });
});

这是工作代码:

<div class="ms-webpart-chrome-title"><h2><a href="http://google.com"><span>Hello</span>      </a></h2></div>
<div class="ms-wpcontentdivspace">Hi there. I am hidden</div>
<div class="ms-webpart-chrome-title"><h2>Another title</h2></div>
<div class="ms-wpcontentdivspace">More hidden stuff</div>

这是没有的代码:

<div class="ms-webpart-chrome-title"><h2><a href="http://google.com"><span>Hello</span></a></h2></div>
<p>some text</p>
<div class="ms-wpcontentdivspace">Hi there. I am hidden</div>
<div class="ms-webpart-chrome-title"><h2>Another title</h2></div>
<div class="ms-wpcontentdivspace">More hidden stuff</div>

这是一个 Jsfiddle。谢谢!

4

2 回答 2

2

使用 1.3.x 的 jQuery 版本很旧,无论如何尝试

jQuery(document).ready(function () {
    jQuery(".ms-wpcontentdivspace").hide();
    //toggle the componenet with class msg_body
    jQuery(".ms-webpart-chrome-title").click(function (e) {
        e.preventDefault();
        jQuery(this).nextAll("div.ms-wpcontentdivspace").eq(0).slideToggle(200);
    });
});

演示:小提琴

于 2013-11-13T16:03:14.590 回答
0

$.next()只得到紧随其后的兄弟,所以你会想要使用$.nextAll()

jQuery(document).ready(function() {
jQuery(".ms-wpcontentdivspace").hide();
//toggle the componenet with class msg_body
jQuery(".ms-webpart-chrome-title").click(function(e)
 {
   e.preventDefault(); 
   jQuery(this).nextAll("div.ms-wpcontentdivspace").eq(0).slideToggle(200);
 });
});
于 2013-11-13T16:13:37.390 回答