2012-02-29 4 views
0

WordPress 및 2 개의 다른 플러그인 (게시물 당 아이콘 & 페이지 및 다중 레벨 탐색)을 사용하고 있습니다. 첫 번째 플러그인에서는 페이지 당 아이콘을 선택하고 두 번째로는 드롭 다운 메뉴를 만들었습니다.jQuery로 링크 텍스트 삭제

페이지 아이콘 만 표시하고 싶지만 플러그인은 페이지 제목을 쓰고 있습니다. 나는 그것을 jQuery와 함께 삭제하고 싶다.

메뉴에 대해 생성 된 HTML이다 :

<ul class="children" style="display: none; visibility: hidden; "> 
    <li class="page_item page-item-514"> 
    <a href="http://www.pausoberriak.net/lan-emailea/onurak/?lang=eu"> 
     <img src="http://www.pausoberriak.net/wp-content/uploads/icons/beneficios.png" class="page_icon" alt="Onurak">Onurak</a> 
    </li> 
    <li class="page_item page-item-179"> 
    <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/?lang=eu"> 
     <img src="http://www.pausoberriak.net/wp-content/uploads/icons/formulas.png" class="page_icon" alt="Formulak">Formulak</a> 
    <ul class="children" style="display: none; visibility: hidden; "> 
      <li class="page_item page-item-183"> 
      <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/praktikak-enpresetan/?lang=eu">Praktikak enpresetan</a> 
      </li> 
     <li class="page_item page-item-186"> 
      <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/lanerako-zerbitzuak/?lang=eu">Zerbitzu Okupazionala</a> 
      </li> 
     <li class="page_item page-item-195"> 
      <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/kontratazioa/?lang=eu">Kontratazioa</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

내가 그 경우는 "Onurak"를 삭제해야합니다, 텍스트를 삭제하려면이 코드를 사용, "Formulak", "Praktikak enpresetan", "Zerbitzu은 okupazionala "와"kontratazioa는 "

<script type="text/javascript"> 
    jQuery('#suckerfishnav li li a').text(""); 
</script> 

그것은 작동하지만, 그것은 또한 img 태그와 어린이 ul을 삭제합니다. 나는 단지 링크 텍스트를 제거하고 다른 것들을 남기고 싶다.

+2

suckerfishnav의 ID를 가진 요소가 없습니다. – j08691

답변

2

먼저 미리

감사 블록 레벨 요소는 a 내부 ul 요소를 넣을 수 없다, 즉, 소자 내부 a 유효하지 않다.

당신은 모든 어린이를 반복하고 텍스트 만 노드를 제거 할 수 있습니다

jQuery('#suckerfishnav li li a').contents().each(function() { 
    if(this.nodeType === 3) { 
     this.parentNode.removeChild(this); 
    } 
}); 

또는

jQuery('#suckerfishnav li li a').contents().filter(function() { 
    return this.nodeType === 3; 
}).remove() 

참조 :.contents, 내가 사용하려고에 의해 시작했으면합니다

+0

이 방법이 효과가 있습니까? – Zarel

+0

@Zarel : 아니요, 작동하지 않는 것 같습니다 : http://jsfiddle.net/P4rPg/ (jQuery ('# suckerfishnav li li a'). , 그러나 나는 다른 방법을 발견했다, 나의 갱신을 본다. –

+0

감사합니다! 나는 첫 번째 방법을 사용했고 작동한다. –

0

Node jQuery의 자식 선택기 대신 "#suckerfishnav li li a"를 사용하십시오.

jQuery ('# suckerfishnav> li> a>')와 같은 것이 도움이 될 수 있습니다.