2013-11-14 8 views
-7

Привет, мне просто интересно, сможет ли кто-нибудь помочь мне найти эквивалентную функцию для значений dom, чтобы преобразовать ее в JQuery.Изменение Dom до JQuery

Если у меня есть код в формате DOM:

var x = document.querySelector('#x'); 

что дало бы мне такое же значение обратно, но в Jquery форме?

Другой пример, который у меня был бы для прослушивателей событий. Как я возьму этот пример и преобразую его в Jquery, чтобы они работали рука об руку и не имели признаков DOM.

например:

function onmouseup(ev) { 
    ev.preventDefault(); 
    //random code 
    } 
c.addEventListener('mouseup', onmouseup, false); 

любая помощь будет здорово!

+2

'$ ('# x')' и '$ (c) .on ('mouseup', onmouseup)' ?? – PSL

ответ

0

Для jQuery вы можете написать.

var x = $('#x'); 

x.mouseup(function(e) { 
    e.preventDefault(); 


}); 

Узнайте все о JQuery селекторы: http://api.jquery.com/category/selectors/

Вот ссылка на JSFiddle http://jsfiddle.net/6ZBx7/ показывает очень основное использование. Вы заметите, если вы введете коробку и нажмите кнопку, текст будет скопирован в текстовое поле. Для демонстрационных целей также добавлен другой обработчик событий mousedown, который очищает текстовое поле. Это показано, используя разные обработчики одного элемента с помощью селекторов.

Обратите внимание, что идентификаторы не содержат «#» в Html. Селектор «#» сообщает jquery, чтобы найти все элементы, соответствующие ID. Аналогичным образом вы можете использовать '.' селектор (т.е. .myClass), чтобы найти все элементы, имеющие определенный класс.

+0

, так что c.addEventListener ('mouseup', onmouseup, false); все равно останется таким же? – user2990259

+0

Нет, поскольку объект, выбранный jquery, не совпадает с объектом документа. Вы можете использовать прослушиватель addEvent, но вам нужно преобразовать объект jQuery обратно в объект DomObject. Взгляните сюда на определения привязки. http://api.jquery.com/bind/ – Nico

+0

Посмотрите, что я не хочу никаких следов dom. Это возможно ? – user2990259

0

Первый один:

var x = $('#x') 

(Обратите внимание на то, что результат не совсем то же самое, $ (...) Retuns объекты JQuery, которые обернуты вокруг объектов DOM

Второй один.:

function onmouseup(ev) { 
    ev.preventDefault(); 
    //random code 
} 
c.on ("mouseup", onmouseup); 

(Обратите внимание, что с, здесь должен быть объект JQuery, а не купол узел. для того, чтобы создать один из узла DOM, используйте var jQUeryWrapped = $(plainDomNode).

+0

Можно ли вообще не иметь следов Дома – user2990259

+0

Что вы подразумеваете под этим? jQuery только инкапсулирует DOM obejcts, они курсируют там. Как вы должны работать с деревом DOM без работы со своими членами? –

+0

@ user2990259: Да, выключите компьютер. –

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