2012-02-02 43 views
0

我對jQuery並不擅長,或者根本不擅長,但是我需要創建一個jQuery/Javascript函數,它將搜索特定表中的所有圖像。因此,指標分析是,該表必須有一個屬性「摘要」 ,它必須等於「論壇」(摘要=論壇)使用jQuery遍歷表中的所有圖像

<table width="100%" class="ms-disc" dir="none" border="0" 
cellSpacing="0" cellPadding="1" summary="Forum"> 

所以,如果是這樣的表,然後我需要檢查,如果運輸署班級「特定班級」 <td class="ms-disc-bordered">。有可能在那個td可以是另一個表,並且只有在那個表中有一個td ... 但是這並不重要,只是要知道它是嵌套的,並且可以在較低的lvl的圖像上。

然後裏面的圖像可以調整大小。

現在我有這樣的代碼:

function ResizeImages() 
{ 
    jQuery(document).ready(function() 
    { 
     var table = $("").find() 
     table.each("td")(function() 
     { 
      if(hassummary & summary.equals("forum")) 
      { 
       var img=table.find("image") 
       img.height=""; 
       img.weight=""; 
      } 
     } 
    } 
} 

UPDATE: 所以這是層次結構:

<table summary="forum"> 
..... 
    <table> 

     <table> 
      <tr> 
       <td class="particular class"> 
        <a link> 
         <image> the one i need to get</image> 
        </a> 
       </td> 
      </tr> 
     </table> </table></table> .... 
+0

第一:有沒有辦法以某種方式標記圖像?第二:我是否正確地聲明'img'總是(嵌套)在一個'td.particularClass'內,它嵌套在一個'table'裏面並且有一個屬性'summary = forum'? – 2012-02-02 09:43:09

+0

顯示您的標記。 – adarshr 2012-02-02 09:43:51

+0

如果一個嵌套表只應該被查看,如果它是在一個標記爲'​​'的內部,那麼這是非常重要的 – Alnitak 2012-02-02 09:45:05

回答

1

jQuery代碼來搜索圖像是:

$('table[summary="forum"] td.particular.class img').attr({ 
    height: '', 
    width: '' 
}); 

儘管此代碼的實用性,我認爲最重要的部分是理解jQuery選擇器。選擇器是由該子選擇的:

  • 表[概要=「論壇」]搜索所有<table>元件與名爲summary屬性等於"forum"
  • td.particular.class搜索具有所有<td>元素兩個類particularclass
  • IMG搜索所有<img>元素。

子選擇符之間用空格分隔。這意味着<img>元素必須放置在<td>元素內,並且這些元素必須放置在<table>元素內。其他詳細信息請參閱jQuery selectors的完整文檔。

找到正確的<img>元素後,可以使用attr()函數設置它們的屬性。

+0

我需要將它放入無論如何每個或每個圖像都會執行? – Alnedru 2012-02-02 13:09:16

+0

它適用於匹配元素集合中的每個項目(即表格中的每個圖像)。 – frm 2012-02-02 15:55:48

4

這應做到:

$('table[summary=forum] td.particular.class img').each(function(){ 
    $(this).width(w).height(h); 
}); 
+0

嗯不,它不這樣做,但它會得到正確的表?並且td可能不在同一個表中,而是在下一個表中使用更新標記與(summary = forum) – Alnedru 2012-02-02 10:34:47

+0

嵌套在表中,上面的新選擇器現在應該做到這一點 – jerjer 2012-02-03 08:59:15