У меня есть стол с tr
и td
. Мой td
имеет ребенка div
. Один div
имеет id="question"
, а другой id="answer"
. Я хочу, пройдя мой td
, div
, который будет скрыт. id="answer"
. Когда страница загружается, только тогда должен появиться вопрос div
. Ниже представлена структура htmlСкрытие элементов в jQuery внутри стола
<td style="display: none;">
<div style="border-color: #000000;position: relative;float: right;margin-top: 2px;right: 12%;"> </div>
<div style="border-color: #000000;position: relative;float: right;margin-top: 2px;right:-2%;"> </div>
<div id="question">
<img id="faqGrid:0:j_idt77" height="10" width="480" src="/TDAP/faces/javax.faces.resource/spacer/dot_clear.gif?ln=primefaces&v=2.2.RC2">
<br>
<br>
<div id="answer">
<div class="horizontalline"></div>
</td>
Я сделал следующее. Но он скрывает весь тд.
$('#faqGrid tr td').each(function(){
var $cells = $();
/**
*Gives you all children as an object array
* 0: div
* 1: div
* 2: div#question
* 3: img#faqGrid:0:j_idt77 /TDAP/fa...=2.2.RC2
* 4: br
* 5: br
* 6: div#answer
* 7: div.horizontalline
*/
var tdChildrenArray = $(this).children();
var divChildrenArray = $(this).children('div');
var elementStack;
$.each(divChildrenArray, function(index, value){
var $div = value;
if ($div.id) {
var $divId = $div.id;
if ($divId == 'answer') {
var colNum = $(this).cellIndex;
$cells = $cells.add($div);
} //end of if ($divId == 'answer')
} //end of if ($div.id)
}); //end of $.each(object, fn)
return $(this).pushStack($cells);
}).hide(); //end of $('#faqGrid tr td').each(fn)
Моя идея здесь заключается в том, что div
«s, которые находятся на нажимной стек только должен скрывать, но это не реальный выход.
oh, что было по ошибке, извините – Basit
Не используйте идентификаторы. как я вижу, эту структуру можно повторить. ID - уникальный идентификатор для всего документа. Вместо этого используйте имя класса. – footy