#jquery #hide #show #custom-data-attribute
#jquery #скрыть #показать #пользовательский атрибут данных
Вопрос:
Я пытаюсь создать таблицу с атрибутами данных в строках и возможностью отображать divs с тем же атрибутом данных по щелчку. Я мог бы добавить больше атрибутов данных, если это упростит / умнее функции jquery.
Нужна помощь, чтобы все было хорошо 🙂
Заранее спасибо!
РЕДАКТИРОВАТЬ: ссылка на jsFiddle:http://jsfiddle.net/MXpnQ /
$(".productRow").click(function () {
$(this).parent().hide("slow"); //hides the fundListContainer
--function to show the correct fundInfoContainer--?
});
$(".backToCorrectListButton").click(function () {
--function to hide the fundInfoContainer and show the correct fundListContainer--?
});
<div class="fundListContainer">
<table>
<tr class="productRow" data-fundId="1">
<td></td>
<td></td>
</tr>
<tr class="productRow" data-fundId="2">
<td></td>
<td></td>
</tr>
</table>
</div>
<div class="fundInfoContainer" data-fundId="1" style="display: none">
<div class="backToCorrectListButton">back to list</div>
</div>
<div class="fundInfoContainer" data-fundId="2" style="display: none">
<div class="backToCorrectListButton">back to list</div>
</div>
Ответ №1:
Конечно, вы можете!
$(".productRow").click(function () {
$(this).parent().hide("slow"); //hides the fundListContainer
$("[data-fundId=" $(this).data('fundId') "]").hide();
});
Если вы хотите выбрать элемент по любому из его атрибутов (data-attr или нет), используйте обозначение
$("[имя_пользователя=значение]")
Смотрите http://api.jquery.com/attribute-equals-selector /
РЕДАКТИРОВАТЬ: посмотрите, хотите ли вы этого
http://jsfiddle.net/MXpnQ/3/
Комментарии:
1. Мне нужно показать fundInfoContainer, поэтому я изменил ваш код с «скрыть» на «показать». Но это не работает.
2. Это потому, что он не собирает данные из атрибута данных в TR.
3. Я проверю это. Подождите секунду.