2011-04-06 47 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