jQuery("#royal_edit_button").click(function () {
jQuery('#royal_edit_title_edit').show();
jQuery('#royal_edit_price_edit').show();
jQuery('#royal_edit_desc_edit').show();
jQuery('#royal_edit_title_view').hide();
jQuery('#royal_edit_price_view').hide();
jQuery('#royal_edit_desc_view').hide();
});
jQuery("#royal_edit_button_back").click(function () {
jQuery('#royal_edit_title_edit').hide();
jQuery('#royal_edit_price_edit').hide();
jQuery('#royal_edit_desc_edit').hide();
jQuery('#royal_edit_title_view').show();
jQuery('#royal_edit_price_view').show();
jQuery('#royal_edit_desc_view').show();
});
点击royal_edit_button
后,它会隐藏view
部分并显示edit
部分,而royal_edit_button_back
则相反。
有没有办法简洁地做到这一点?我宁愿不必为每个元素重复相同的代码。
答案 0 :(得分:2)
也许这会更好看:
$("#royal_edit_button").click(function () {
$('[id ^=royal_edit_][id $=edit]').show();
$('[id ^=royal_edit_][id $=view]').hide();
});
$("#royal_edit_button_back").click(function () {
$('[id ^=royal_edit_][id $=view]').show();
$('[id ^=royal_edit_][id $=edit]').hide();
}
答案 1 :(得分:1)
这是一个可能的解决方案:
如果您的html看起来像这样:
<div class="royal-edit-section">
<button id="royal_edit_button" class="active">Edit</button>
<button id="royal_edit_button_back">View</button>
<div class="edit-section selected royal-section">
<label for="royal_edit_title_edit">Title:</label>
<input type="text" id="royal_edit_title_edit" />
<br />
<label for="royal_edit_price_edit">Price:</label>
<input type="text" id="royal_edit_price_edit" />
<br />
<label for="royal_edit_desc_edit">Description:</label>
<input type="textarea" id="royal_edit_desc_edit" />
</div>
<div class="view-section royal-section">
<p id="royal_edit_title_view" class="royal-view-item">Title: Sample title </p>
<p id="royal_edit_price_view" class="royal-view-item"> Price: $10.00</p>
<p id="royal_edit_desc_view" class="royal-view-item">Description: lorem ipsum dolor </p>
</div>
</div>
JQuery的:
jQuery("#royal_edit_button").click(function () {
jQuery('.active').removeClass('active');
jQuery(this).addClass('active');
jQuery('.edit-section').show();
jQuery('.view-section').hide();
});
jQuery("#royal_edit_button_back").click(function () {
jQuery('.active').removeClass('active');
jQuery(this).addClass('active');
jQuery('.view-section').show();
jQuery('.edit-section').hide();
});
Js fiddle:https://jsfiddle.net/cr6v6anz/