2013-04-24 2 views
-2

Я знаю, как сделать обратное. Получение определенного элемента DOMElement для элемента jQuery очень просто. (Используйте метод get())Получить элемент jQuery для DOMElement

Но как вы можете получить элемент jQuery для определенного DOMElement?

К сожалению, этот DOMElement не имеет никаких атрибутов, таких как класс или идентификатор, поэтому создание селектора на самом деле не является вариантом. Допустим, у меня есть этот HTML:

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

Я в и-DOMElement. Как я могу получить это как элемент jQuery?

Есть ли разумный способ сделать это?

EDIT:

Я хотел бы знать, если есть Gerneral способ сделать это. Не определен для кода, показанного выше. как:

DomElement.toJQuery() 

Есть ли что-нибудь подобное? Я знаю, что это может быть невозможно.

+1

В приведенном выше примере вы бы просто использовать '$ (« редактировать и») ' – Archer

+0

Free [Fiddle] (http://jsfiddle.net/zyykS/) –

+0

Арчер, никогда не используйте эти дочерние селекторы .. они делают ваш скрипт медленным. потому что jquery будет искать через каждые . Вместо использования: $ (". Edit"). Find ("u"); –

ответ

1

Получение объекта JQuery для объекта DOM так просто, как jQuery(dom_node) (или $(dom_node)). См http://api.jquery.com/jQuery/

Это обычно используется в обработчиков событий, которые приведены узел DOM, как this, так что вы часто будете видеть $(this)

-1

Вы хотите только 1 конкретный элемент dom, я предлагаю вам найти способ добавить идентификатор к этому элементу.

, но чтобы получить u элемент внутри edit класса:

$('.edit u'); 

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

То же, что и выше. Никогда не делайте запрос только по тегу. Вместо этого используйте селектор для соответствия ID (лучший) или класс (второй вариант). Затем используйте find для поиска тегов в пределах этого идентификатора или класса. Его гораздо быстрее в долгосрочной перспективе. –

+0

'u' находится внутри' edit' - не наоборот – Archer

+0

ha haaa, что вернется из '$ ('u .edit');' –

1

Если вы хотите получить только элемент использовать код, приведенный ниже. если вы хотите, чтобы получить HTML любого элемента вы можете добавить тег .html() ни к одному из примеров

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

или

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

Он не хочет, чтобы html? Confused? – Archer

+0

Я изменил свой ответ, теперь я привел пример того, как получить элемент и html, если он когда-либо захочет это сделать, спасибо. –

1

вы ищете это?

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

надежда это то, что вы ищете,

$(DomElement) 
+0

Чтобы получить версию dom, используйте это следующим образом: var $ el = $ (". Edit"). Find ("u"); var el = $ el [0]; –

+0

Это не то, что я ищу. Я редактировал свой вопрос. – MentholBonbon

+0

Спасибо, что $ (DomElement) был тем, что я искал. К тому времени я также нашел друга, у которого был тот же ответ для меня. Тайн много. :) – MentholBonbon

Смежные вопросы