drmozilla
서포터즈
서포터즈
 
전체글: 126
가입일: 2011 01 25 14:47 05

adblock+ 관련 질문 좀 드릴게요.

전체글글쓴이: drmozilla » 2012 10 11 15:38 41

<tr>
<td id="a"></td>
<td id="b"></td>
<td id="딸기"></td>
</tr>
<tr>
<td id="a"></td>
<td id="b"></td>
<td id="포도"></td>
</tr>


여기서 "딸기"가 들어있는 첫번째 <tr></tr>부분을 통째로 가리려고 하는데요.
adblock에서는 딸기가 들어있는 <td></td>부분만 지우고 a와 b는 그대로 남겨두더군요.
보시다시피 a와 b는 두번째 <tr>에서도 쓰이고 있는 터라 필터를 쓸 수가 없는 상태입니다.
혹시 방법이 없을까요? 하위 자식 요소를 선택하는 선택자는 많은 것 같은데,
하위 요소를 기반으로 상위 부모 요소를 선택하는 방법은 잘 못찾겠어요.
게다가 부모 요소에 아무런 부속 선언이 없는 상태라;
고수님들의 도움이 필요합니다. ㅜ.ㅜ/

.
 

Re: adblock+ 관련 질문 좀 드릴게요.

전체글글쓴이: . » 2012 10 11 17:19 17

CSS (C=ᅟcascading) 개념 상 자식에서 부모로 거슬러 올라가는 선택자는 존재할 수 없습니다. 렌더링에 부하를 주게 되고, 원형 참조가 일어날 수 있기 때문이죠.

제한적인 대안으로 table 내에 "딸기" id를 가진 tr의 순번이 일정하다면, :nth-child나 :nth-of-type 같은 선택자를 사용해 볼 수 있겠네요.

tbody > tr:nth-child(2)

drmozilla
서포터즈
서포터즈
 
전체글: 126
가입일: 2011 01 25 14:47 05

Re: adblock+ 관련 질문 좀 드릴게요.

전체글글쓴이: drmozilla » 2012 10 11 22:43 31

. 작성: CSS (C=ᅟcascading) 개념 상 자식에서 부모로 거슬러 올라가는 선택자는 존재할 수 없습니다. 렌더링에 부하를 주게 되고, 원형 참조가 일어날 수 있기 때문이죠.

제한적인 대안으로 table 내에 "딸기" id를 가진 tr의 순번이 일정하다면, :nth-child나 :nth-of-type 같은 선택자를 사용해 볼 수 있겠네요.

tbody > tr:nth-child(2)



아...역시 없는 거군요. ㅜ.ㅜ 흑흑.
일정한 위치가 아니라 주신 방법은 쓸 수 없지만...
여튼 감사합니다!

Seeker
서포터즈
서포터즈
 
전체글: 81
가입일: 2008 06 13 16:16 14

Re: adblock+ 관련 질문 좀 드릴게요.

전체글글쓴이: Seeker » 2012 10 13 21:04 40

꼭 필요하다면 그리스몽키를 사용하면 됩니다.

자바스크립트로 원하는 td 를 찾고, 그 부모 tr 을 가리면 되지요.


방법의 특성상 가리려는 부분이 화면에 나타났다가 사라질 수도 있는데 사이트가 지나치게 느리거나 하지만 않으면 그럴 일은 없습니다.


개인적으로 몇가지 스크립트를 만들어서 사용하고 있는데 거슬리는 부분은 별로 없어요.

drmozilla
서포터즈
서포터즈
 
전체글: 126
가입일: 2011 01 25 14:47 05

Re: adblock+ 관련 질문 좀 드릴게요.

전체글글쓴이: drmozilla » 2012 10 13 23:34 33

Seeker 작성: 꼭 필요하다면 그리스몽키를 사용하면 됩니다.

자바스크립트로 원하는 td 를 찾고, 그 부모 tr 을 가리면 되지요.


방법의 특성상 가리려는 부분이 화면에 나타났다가 사라질 수도 있는데 사이트가 지나치게 느리거나 하지만 않으면 그럴 일은 없습니다.


개인적으로 몇가지 스크립트를 만들어서 사용하고 있는데 거슬리는 부분은 별로 없어요.


앗...좀 더 자세한 방법을 알려주실 수 있나요? ㅜ.ㅜ

Seeker
서포터즈
서포터즈
 
전체글: 81
가입일: 2008 06 13 16:16 14

Re: adblock+ 관련 질문 좀 드릴게요.

전체글글쓴이: Seeker » 2012 10 15 16:05 20

가리는 것 자체는 코드 짜기가 간단하지만 그래도 프로그래밍에 속하는 거라서 처음부터 설명하는건 힘들구요...


우선 본문의 경우에는 원하는 사이트에서 새 스크립트를 만들어서

코드: 모두 선택document.getElementById("딸기").parentNode.style.display = "none";


를 코드에 넣으면 됩니다.


잘 안된다면 원하는 사이트와 가리려는 부분을 알려주시면 스크립트를 만들어 드릴수도 있습니다.