2014-06-29 57 views
-1

是否有方法直接在變量d中標識元素,而不是使用每個函數循環。請找到下面的DOM識別沒有循環的jquery dom元素


<!DOCTYPE html> 

    <html lang="en"> 
<head> 
    <title></title> 
    <script src="../jquery-ui-1.10.4.custom/js/jquery-1.10.2.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(function() { 

     var d = $("img", "#totaldiv");  
      d.each(function() { 
       if ($(this).attr("id") == "imgfour") 
        $(this).hide(); 
      });    

     }); 

    </script> 
</head> 
<body> 
<div id="totaldiv"> 
<img alt="hi image one" id="imgone" src="someimage" /> 
<img alt="hi image two" id="imgtwo" src="someimage" /> 
<img alt="hi image three" id="imgthree" src="someimage" /> 
<img alt="hi image four" id="imgfour" src="someimage" /> 
<img alt="hi image five" id="imgfive" src="someimage" /> 
</div> 
</body> 
</html> 

其實我的HTML是動態的,只是爲了說明目的,我已經提供了這一點。我不想使用$(「#totaldiv #imgfour」)。hide(); (或)$(「#totaldiv> #imgfour」)。hide();

+3

什麼標準用於決定是否顯示或隱藏? – Quince

回答

2

既然你對圖片的ID,這是一個班輪:

$("#imgfour").hide(); 
1

應該

$('img#imgfour').hide(); 

而且你爲什麼要通過ID在#totaldiv選擇,然後尋找一個不同的ID?

0

如果您不想循環,並且不想直接訪問該ID,則仍然可以使用.filter()

var d = $("img", "#totaldiv").filter("#imgfour"); 
0

1)添加各img元素類

<img alt="hi image one" class='myimage' id="imgone" src="someimage" /> 
<img alt="hi image two" class='myimage' id="imgtwo" src="someimage" /> 
<img alt="hi image three" class='myimage' id="imgthree" src="someimage" /> 
<img alt="hi image four" class='myimage' id="imgfour" src="someimage" /> 
<img alt="hi image five" class='myimage' id="imgfive" src="someimage" /> 

2)隱藏/顯示所有具有 'MYIMAGE' 類的元素,然後顯示/使用id選擇隱藏特定元件;

$('.myimage').hide(); 
    $('.myimage#id4').show(); 

我希望這可以幫助你。