2011-09-04 3 views
0

내가 가지고있는 두 다른에 <input value="9999">의를 제거하는자바 스크립트 : 작업은 경우의 조건이 충족되지 않은 요소에서 실행되는

$("div#groupA > ul").each(function(){ 
    if (!($("div#groupA > ul").css("display")==="none")) { 
     $('div#groupA > ul > input[value="9999"]').remove(); 
    } 
}); 
$("div#groupA").fadeIn(); 

또는

$("div#groupA > ul").each(function(){ 
    if ($("div#groupA > ul").css("display")!=="none") { 
     $('div#groupA > ul > input[value="9999"]').remove(); 
    } 
}); 
$("div#groupA").fadeIn(); 

그러나 경우 테스트 다음 외부 <div id="groupA"> 외부 divs.

<div id="groupA"> 안에있는 <input value="9999"> 개를 제거하려면 어떻게해야합니까?

감사합니다.

답변

0

나는 이것을 담은 switch 문으로 뭔가 이상한 일을하고 있었다.

switch(true){ 
    case (q1===0): 
     // do some stuff 
     // purposefully no break 
    case (this.value==="bar"): 
     $("div#groupA > ul").each(function(){ 
      if ($("div#groupA > ul").css("display")!=="none") { 
      $('div#groupA > ul > input[value="9999"]').remove(); 
      } 
     }); 
     $("div#groupA").fadeIn(); 
     break; 
    case (this.value==="foobar"): 
     // do some other stuff 
     break; 
    default: 
     // do some more other stuff 
     break; 
} 

케이스 내부에서 평가 한 경우를 제외하고는 swtich (true)가 정상적으로 작동했습니다. 그렇다면 그것은 스스로를 감추었습니다 (그리고 if 문장의 비트와 조각 만했습니다). 내가하고 결국 무엇

했다 :

BTW
if(q1===0){ 
    // do some stuff 
} 
switch(this.value){ 
    case ("bar"): 
     $("div#groupA > ul").each(function(){ 
      if ($("div#groupA > ul").css("display")!=="none") { 
      $('div#groupA > ul > input[value="9999"]').remove(); 
      } 
     }); 
     $("div#groupA").fadeIn(); 
     break; 
    case ("foobar"): 
     // do some other stuff 
     break; 
    default: 
     // do some more other stuff 
     break; 
} 

가 다시 바로 게시하지 죄송합니다 : 새 응답이 때 그것은 나를 전자 우편으로 발송하지 않습니다.

1

이 시도 :

$('#groupA').find('ul').each(function(){ 
    if ($(this).is(':visible')) { 
     $(this).find('input[value="9999"]').remove(); 
    } 
}); 

슈퍼 특정 선택기에 최대 용이성. CSS에 대해서는 의미가 있지만 지나치게 사용하고 JQuery의 네이티브 트래버 설 기능을 사용하는 것만 큼 최적이 아닙니다.

div#groupA > ul > input[value="9999"]은 의미가 없습니다. > 기호는 부모의 직계 자녀가 다음을 의미합니다. 확율은 inputli과 같은 다른 내부에 있음을 나타냅니다.

+0

실제로 거짓말했습니다. 작동하지 않습니다. ( – jacob

+0

HTML 사용자를 게시하십시오.이 코드가 작동하지 않으면 문제가되는 DOM입니다. – AlienWebguy

+0

.is (': visible')을 그리고 그것은 작동하지 않을 것입니다. 그래서 나는 .css ("display")를 고수해야했습니다! == "none") – jacob

관련 문제