2013-04-24 147 views
-2

我知道如何做相反的事情。爲jQuery元素獲取某個DOME元素很容易。 (使用get()方法)獲取DOME元素的jQuery元素

但是,如何獲得特定DOMElement的jQuery元素?

不幸的是,這個DOMElement沒有像class或id這樣的屬性,所以構造一個選擇器並不是一個真正的選擇。 可以說我有這個網站:

<div class="edit">Abcd<b><i><u>asdasd</u>adasda</i></b>sdfsdf<br>asd</div> 

我在U-一個DOMElement。我怎樣才能得到這個作爲一個jQuery元素?

有沒有一個聰明的方法來做到這一點?

編輯:

我想知道是否有做這個gerneral方式。不是特定於上面顯示的代碼。 贊:

DomElement.toJQuery() 

有什麼那樣的嗎?我知道這可能是不可能的。

+1

在上面的例子中,你會簡單地使用'$(「編輯U」) ' – Archer 2013-04-24 09:11:40

+0

免費[小提琴](http://jsfiddle.net/zyykS/) – 2013-04-24 09:13:25

+0

弓箭手,從來沒有使用這些兒童選擇器..這些讓你的腳本慢。因爲jQuery會搜索槽每個。代替使用:$(「。edit」)。find(「u」); – 2013-04-24 09:13:31

回答

1

得到一個jQuery對象的DOM對象是jQuery(dom_node)(或$(dom_node))一樣簡單。見http://api.jquery.com/jQuery/

這通常是在事件處理程序,這是考慮到DOM節點this使用,這樣你會經常看到$(this)

-1

你只需要一個特定的dom元素,我建議你找到一種方法來爲該元素添加一個id。

但要獲得一個u元素的edit類中:

$('.edit u'); 

$('.edit').find('u'); 
+0

與我上面發佈的相同。永遠不要對標籤進行查詢。而不是使用選擇器來匹配ID(最好)或類(第二選項)。然後使用find來搜索該ID或類中的標籤。從長遠來看,它的速度要快得多。 – 2013-04-24 09:15:01

+0

'u'在'edit'裏面 - 而不是其他方式 – Archer 2013-04-24 09:15:29

+0

ha haaa會返回'$('u .edit');' – 2013-04-24 09:16:53

1

如果要得到公正的元素使用下面的代碼。如果你想獲得任何元素的HTML,你可能希望將.html()標記添加到任何的例子

var myVar = $('.edit u'); 

var myVar = $(".edit").find("u"); 
+0

'他不希望html被混淆? – Archer 2013-04-24 09:14:57

+0

我修改了我的答案,現在我給出瞭如何獲取元素和html的例子,如果他想這樣做,謝謝。 – 2013-04-24 09:18:48

1

你在找這個?

$(".edit").find("u"); 

希望這是你在找什麼,

$(DomElement) 
+0

要得到的dom版本使用如下: var $ el = $(「。edit」)。find(「u」); var el = $ el [0]; – 2013-04-24 09:19:12

+0

這不是我正在尋找的。我編輯了我的問題。 – MentholBonbon 2013-04-24 10:19:59

+0

謝謝$(DomElement)就是我一直在尋找的東西。到目前爲止,我還找到了一個對我有同樣答案的朋友。 Tahnks很多。 :) – MentholBonbon 2013-04-24 12:28:53