簡體   English   中英

jQuery:如何查找當前元素之前2個元素的元素

[英]jquery: how to find an element which is coming 2 elements before current element

我有一個看起來像這樣的標記:

<h3>Paragraf3-dummytext</h3>
<p>
<a name="paragraf3">
Quisque id odio. Praesent venenatis metus at tortor pulvinar varius. Lorem ipsum dolor sit 
</a>
</p>

我想要做的是找到所有具有“名稱”屬性的“ a”標簽,並為該錨點找到“ h3”標簽; 我試圖這樣做:

var paragraf = [];
var paragrafheading = [];
$('a[name]').each(function() {
paragraf.push($(this).attr('name'));
paragrafheading.push($(this).prev().text());

但是它不起作用,因為文本周圍有一個'p'標簽。

你可以做:

paragrafheading.push($(this).parent().prev().text());

如果a周圍不總是有段落,或者您不知道h3之前錨點可以有多少個父代,則可以執行以下操作:

paragrafheading.push($(this).closest('> h3').find('> h3').text());

不知道這是否是最好的方法,但是您可以只在h3上執行each(),直到找到包含所需'a'標簽的那個了嗎?

paragrafheading.push($(this).parents('p')[0].prevAll('h3')[0].text());

這樣做意味着即使將來結構發生變化,您仍然可以在dom樹中的a標記之前獲得第一個祖先h3元素關於dom段落等方面的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM