javascript를 사용하여 특정 요소에 클래스를 할당하는 특정 사이트에 대한 스타일 시트를 만듭니다. 어떤 이유로 든 'td'엘리먼트는 이상한 클래스 할당과 인라인 스타일을 사용하기 때문에 루프를 반복하고 정리하고 외부 스타일 시트에서 참조 할 적절한 클래스 이름을 할당합니다.Javascript : 잘못된 스타일 정의가있는 요소의 콘텐츠를 가져옵니다.
사이트 자체에 액세스 할 수 없으며 (아무 것도 변경할 수있는 관리 권한이 없음) Firefox 용 Stylish 및 Greasemonkey (원래 스타일 시트를 처리하는 Adblock 포함)를 사용합니다. 문제는 문제가 해결되지 않는 한 특별한 경우가있다
var cellStyleBg = cCell.style.backgroundColor;
if (cellStyleBg) {
switch(cellStyleBg) {
case 'white':
cCell.removeAttribute('style');
if (cCell.parentNode.nodeName == 'TR') {
cCell.parentNode.className = 'deadlineSet';
}
break;
...
:
는 여기에 대한 책임을 JS 코드의 작은 부분이다
<td class="td2h" style="background: dd97f0;">
당신이 볼 수 있듯이, 색상 코드 앞에 octotorp가 없습니다. 이 경우 변수 cellStyleBg가 'null'인 것으로 가정합니다.
('cCell.style.backgroundColor'대신) 'cCell.style'및 'cCell.style.background'를 사용하려고했지만 텍스트를 구문 분석 할 일반 텍스트를 반환하지 않습니다.
이 특별한 경우를 처리하려면 어떻게해야합니까?
'cellStyleBg' 변수가있는'#'? 'if '('# '+ cellStyleBg) {' –
그게 정확히 문제입니다. cellStyleBg은 어떤 이유로 든 null이므로 내용에 아무 것도 할 수 없습니다. 그 이유는 컬러 코드가 유효하지 않아서 JS에 의해 전혀 가치가없는 것으로 의심됩니다. – XNRL
아, 알겠습니다, 나는 거꾸로 ... 당신은 좋은 대답을 얻은 것처럼 보입니다! –