2011-04-06 24 views
0

在代碼如何使用$(this)(如果iam在錨點元素中使用$(this)(要應用於多於一個)id =「preface-more-btn」,如何選擇id =「read-more」按鈕)在jQuery中?我如何選擇這個元素與JQuery的?

<pre> 
    <div id="content"> 
     <p> 
      <span style="font-size: 16px;"></span> 
     </p> 
     <span id="read-more" style="display: none;"></span> 
     <div class="more active" id="preface-more"> 
      <a class="btn-more" id="preface-more-btn" href="#"></a> 
     </div> 
    </div> 
</pre> 

謝謝你幫..

+1

您是否搜索過?通過ID搜索非常簡單... – BoltClock 2011-04-06 05:12:12

+0

這是功課嗎? – jdigital 2011-04-06 05:14:27

回答

0
​​

它是全球獨一無二的,因爲它是哈這是一個ID。

編輯: 嘗試

$(this).parent().prev(); 
+0

「要申請多個按鈕」 – 2011-04-06 05:16:22

+0

更新爲新 – Slappy 2011-04-06 05:24:32

+0

謝謝slappy它是$(this).parent()。prev(); – andrew 2011-04-06 08:35:19

0

這始終將工作:

$("#read-more"); 
0

鑑於結構總是會喜歡它:

var theSpan = $(this).parent().parent().find('#read-more'); 
0

好,按id選擇一個元素是很容易的。

$("#read-more") 

無論你身在何處,都會這樣做,因爲身份證是全球性的。

+0

「要申請多個按鈕」 – 2011-04-06 05:17:56

+0

@Mike,那個引用與'id'的想法是矛盾的... – Blender 2011-04-06 05:22:24

+0

@Blender,我知道,但這就是他所要求的。但我認爲你的回答也涵蓋了這一點。 – 2011-04-06 05:51:37

2

如果你是上下文id="reface-more-btn"的元素,就可以直觀地選擇這樣的:

$(this).parent().parent().find('#read-more'); 

如果你正在尋找的可讀性,試試這個:

$(this).closest('#read-more'); 

但由於id是唯一的一個元素,你爲什麼不只是使用$('#read-more');

你可能會混淆classid,因爲只有一個元素可以有一定id,而很多元素可以共享一個class。閱讀這個問題的更長的解釋,因爲它是必不可少的知道差異:div class vs id

+0

爲什麼要找到一個發現? ID是唯一的。 – 2011-04-06 05:15:18

+0

@傑夫:他說「要申請多個按鈕」,甚至認爲* *是錯誤的。 – 2011-04-06 05:17:10

+0

OP可能會令'id'和'class'混淆。 – Blender 2011-04-06 05:17:30

0
$('#read-more') will do the trick