2012-02-02 4 views
1

Мои знания JQuery & Javascript ограничен в лучшем случае, но я под впечатлением. JQuery - это в основном упрощенная версия JavaScript.Преобразование JQuery в JavaScript

Если это так, то есть способ преобразования этого кода в Javascript, поэтому мне не нужно вызывать библиотеку JQuery, поскольку он, по-видимому, вызывает другие функции JavaScript, которые не работают?

function toggleStatus(mynum) { 
    $('#product_'+mynum+'_submit_button').removeAttr('disabled'); 
} 
+1

Вы, вероятно, хотите использовать [jQuery.noConflict();] (http://api.jquery.com/jQuery.noConflict/) – zzzzBov

+3

jQuery - это Javascript. Это библиотека Javascript. –

+0

Если ваша страница уже импортирует другую библиотеку, которая использует «$», скорее всего, вам нужно сделать то, что вам действительно нужно, - это преобразовать этот код в эквивалент для библиотеки, используемой вашей страницей. – Pointy

ответ

6

Это должно работать :)

var d = document.getElementById('product_'+mynum+'_submit_button'); 
d.removeAttribute('disabled'); 
+0

+1, поскольку это эквивалентно, но я бы, вероятно, установил свойство 'disabled' на' false' вместо удаления атрибута. –

+0

Гений! Спасибо. – LewiG

3

Уроженец версия этого кода будет

  • установить отключенный свойство на элементе вместо баловаться с атрибутом

  • использование document.getElementById выбрать элемент по идентификатору вместо jQuerys $("#id"):

var element = document.getElementById('product_' + mynum + '_submit_button'); 
element.disabled = false; 

Также отметим, что для дальнейшего использования, родной эквивалент JQuery-х removeAttr является removeAttribute

+0

+1 для включения документов ... ах, и вы обновили, чтобы установить свойство вместо удаления атрибута. Отлично. :) –

+1

@amnotiam - действительно, твой комментарий выше, который ударил меня в штаны. +1 к вам :-) –

5

JQuery является не простая версия javascript, а библиотека javascript, которая позволяет вам работать без труда с dom.

код можно переписать так:

var e = document.getElementById('product_'+mynum+'_submit_button'); 
if(e) e.removeAttribute('disabled'); 
+2

+1 для проверки наличия 'e' –

0

Какие другие функции в JavaScript не работает? jQuery - это структура Javascript, облегчающая выполнение задач Javascript, а также создание других функций, таких как анимация.

Если вы хотите, чтобы просто преобразовать то, что там у вас в Javascript, вы можете сделать это:

function toggleStatus(mynum) { 
    document.getElementById('product_'+mynum+'_submit_button').removeAttribute('disabled'); 
} 

У меня есть чувство, как это могло бы стать началом более Javascript и JQuery вопросы, как вы поиски Узнать больше! Удачи! :)

0

JQuery не является упрощенной версией javascript. Вместо этого подумайте, что это библиотека. Общие функции, необходимые для нашего развития, упрощаются и организуются в единой библиотеке. Для использования этих функций вам необходимо прочитать его API (Application Programming Interface). Это поможет вам написать меньше кода по сравнению с обычным кодом javascript. Я думаю, что JQuery не будет причиной проблемы в вашем коде. Любой способ для написания этого кода в чистом Javascript вы можете следовать следующим кодом:

document.getElementById('buttonId').removeAttribute('disabled'); 
Смежные вопросы