2013-04-24 157 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