2016-07-23 165 views
0

我在輸入3 divstdtr。沒有可用的唯一屬性進行搜索(id和行頻繁更改)。我試圖穿越通過在div一個label在相鄰td開始DOM,轉到next td,然後通過div一個div另一div下來再進inputjQuery最接近沒有遍歷父項

我開始與$('[title*="P2P"]').closest('td').next('.control-cell').find('input');

它不選擇輸入我,所以我就開始通過打印的類別在時間選擇的元素1步倒退工作,但一旦突破爲使用closest到經過第一個div

我的jsfiddle:https://jsfiddle.net/28kacj28/

而我的HTML:

<tr class="control"> 
    <td class="label-cell left-label"> 
    <div class="workitemlabel"> 
     <label class="workitemcontrol-label" for="witc_135_txt" title="[Field Name: Process Start Date]">Start Date:</label> 
    </div> 
    </td> 
    <td class="control-cell"> 
    <div class="workitemcontrol"> 
     <div id="witc_135" class="combo input-text-box date-time drop"> 
     <div class="wrap"> 
      <input type="text" id="witc_135_txt" autocomplete="off" maxlength="255" title="7/7/2016 12:00:00 AM" aria-invalid="false"> 
     </div> 
     <div class="drop bowtie-calendar bowtie-icon"></div> 
     </div> 
    </div> 
    </td> 
</tr> 
<tr class="control"> 
    <td class="label-cell left-label"> 
    <div class="workitemlabel"> 
     <label class="workitemcontrol-label" for="witc_136_txt" title="[Field Name: P2P]">P2P:</label> 
    </div> 
    </td> 
    <td class="control-cell"> 
    <div class="workitemcontrol"> 
     <div id="witc_136" class="combo input-text-box date-time drop"> 
     <div class="wrap"> 
      <input type="text" id="witc_136_txt" autocomplete="off" maxlength="255" title="7/29/2016 12:00:00 AM" aria-invalid="false"> 
     </div> 
     <div class="drop bowtie-calendar bowtie-icon"></div> 
     </div> 
    </div> 
    </td> 
</tr> 
<span></span> 
+0

['最接近()'](https://api.jquery.com/closest/)不會做你認爲它。它將遍歷樹的祖先,如「父母()」。 –

+0

testShit未在控制檯中定義 – guradio

回答

1

我不太確定你想選擇哪種方法,但你犯了兩個錯誤:

  1. 裹表元素(<tr>,<td>)與表。當table標籤沒有正確包裝時,瀏覽器會自動和動態地刪除trtd標籤(意思是「查看源代碼...」仍將顯示標籤,即使它們已被刪除)。這意味着沒有找到tr.control標記。
  2. 從未定義(拼寫錯誤)變量testShit而不是testStuff(第2行)分配您的班級變量testClass。保持優雅。

我在這個小提琴的更正:https://jsfiddle.net/28kacj28/3/

+1

如果使用F12工具,您將看到瀏覽器正在呈現的內容以及tr樹和td標籤已從DOM樹中刪除 – Steve

+0

謝謝,它只是表標籤。我今天腦殘。 – edified