클릭 한 행 뒤에 새 행을 삽입하여 클릭 할 때 "확장"되는 행의 표가 있고 CSS를 사용하고 있습니다. 얼룩말 (zebra-style)은 행에 셀을 넣을뿐만 아니라 행을 가리키면 셀에 '강조 표시'스타일을 적용합니다.현재 가리키고있는 요소의 비 호버 css backgroundColor 소도 가져 오기
내가 삽입 한 행에 클릭 한 행의 배경색이 같게하고 싶습니다.
클릭 한 행의 첫 번째 셀의 backgroundColor 속성을 사용하여 삽입 된 행의 셀 배경색을 jQuery로 설정하려고합니다.
그러나 이렇게하면 클릭 한 행 위로 마우스를 가져 갔기 때문에 '강조 표시'색상이 표시됩니다. 비 호버 값을 원합니다.
CSS :
.zebra-striped tbody tr:nth-child(odd) td {
background-color: #f9f9f9;
}
.zebra-striped tbody tr:hover td {
background-color: #f5f5f5;
}
jQuery를 :
table.find('tbody').find('tr').on('click',function() {
var colourOfRow = $(this).find("td").filter(":first").css('backgroundColor');
var newRows = $('<tr><td style="background-color:'+colourOfRow+';" colspan="'+numCols+'" rowspan="2">Fetching comment...</td></tr><tr></tr>');
newRows.insertAfter($(this));
});
나는 내가 그것을 사용할 필요가 전에 색상을 저장하여이 문제를 해결할 수 있습니다 확신 해요,하지만 내 질문은 :
내가 놓친 jQuery 선택 자나 다른 잘 알려진 트릭이 있습니까?
테이블을 지브라 스트라이핑하는 것은'.zbra-striped'를'table' elem에 추가함으로써 간단히 수행됩니다. 나는 그 단순함을 어지럽히는 것을 피하고 싶습니다. 내가하고 싶은 일을해서는 안되는 이유를 포함시켜 답을 넓혀 주시겠습니까? – jah
기다려; 당신은 실제로 색이 무엇인지 상관하지 않습니다. 색상은 색인이 짝수 또는 홀수인지 여부에 따라 다르므로 색인을 잡으십시오. 어쨌든 배경색으로 무엇을 할 것입니까? 색상 데이터를 비교하여이 작업을 수행하지 않는 이유는 정확하게 이러한 이유 때문입니다. 요소의 CSS 속성을 가져 와서 비교하는 것은 매우 복잡하며 미리 정의 된 상태/스타일을 요소에 적용하는 것이 훨씬 쉽습니다. – Mathletics
또는 기본 색상을 TR로 옮기고 여백이 작동하지 않는 한 강조 표시시 TD 색상 만 변경하십시오. 그런 식으로 TR 색은 변하지 않습니다. – Mathletics