在下面的腳本中,我試圖傳遞一個對父容器的ID的引用,以便將slideToggle的範圍限制爲該元素的範圍子類匹配的子元素。jQuery動態傳遞元素的ID來限制範圍slideToggle()
如何更改要傳入ID的代碼?問題是'myID .extras'顯然不是正確的語法。
jQuery(document).ready(function()
{
jQuery(document).on('click','.toggleExtras', function(e){
var myEl = jQuery(this).closest('.widget');
var myID = jQuery(myEl).attr('id');
jQuery('myID .extras').slideToggle();
jQuery(this).text(function(el, old){
return old == "Show Advanced Options" ? "Hide Advanced Options" : "Show Advanced Options";
});
});
});
HTML:
<div id="widget-43_my_box_cats-4" class="widget">
<div class="widget-top">
<div class="widget-title-action"></div>
<div class="widget-title"><h4>Widget Title<span class="in-widget-title"></span></h4></div>
</div>
<div class="widget-inside" style="display: block;">
<form action="" method="post">
<div class="widget-content">
<p>
<label for="widget-my_box_cats-4-title">Title:</label>
<input class="widefat" id="widget-my_box_cats-4-title" name="widget-my_box_cats[4][title]" type="text" value="">
</p>
<fieldset><legend><span class="toggleExtras">Hide Advanced Options</span></legend>
+ 1甜蜜和光明! – RegEdit 2013-02-26 13:55:55