2013-09-12 3 views
6

У меня есть функции JavaScript, которые я хочу преобразовать в jquery, но я не могу понять jquery. Он использует document.getElementsByName, поэтому я хотел бы знать, как преобразовать document.getElementsByName в jquery.преобразование javascript в jquery

function getElements(name){ 
    if (document.getElementsByName(name)[0].className == "visible"){ 
     document.getElementsByName(name)[0].className = "hidden"; 
    } else { 
     if(document.getElementsByClassName('visible')[0] != null){ 
      document.getElementsByClassName('visible')[0].className = "hidden"; 
     } 
     document.getElementsByName(name)[0].className = "visible"; 
    } 
} 
+16

Пожалуйста, попробуйте сделать это самостоятельно – Cherniv

+0

Что вы пытаетесь сделать с помощью JavaScript? –

+0

Есть много вещей, которые вам можно сказать об этом, но я думаю, вам нужно начать изучать jQuery, а не задавать вопросы. Это должно быть лучшим местом для запуска jQuery (http://api.jquery.com/category/core/) –

ответ

4

вы можете попробовать селекторов атрибутов ...

$('[name="'+name+'"]') //for name selector 
$('.visible') //for class selector 
+0

Спасибо, это сработало. –

+0

рад, что это помогло .... вы можете принять любой ответ, если считаете, что помогли ... в любом случае счастливое кодирование .. :) – bipen

0

Вы можете обратиться к приведенному ниже синтаксису для справки.

$('[name=tcol1]') // matches exactly 'tcol1' 

$('[name^=tcol]') // matches those that begin with 'tcol' 
3

Вы должны попробовать, потому что, когда вы пытаетесь практиковать вас на самом деле учатся:

  • document.getElementsByName в JQuery $("[name=Name]");
  • document.getElementsById in jQuery $("#IdofElement");
  • document.getElementsByClass в JQuery $(".ClassofElement");

Вот некоторые учебники:

  1. jQuery for Beginners
  2. jQuery API
  3. Beginners Guide to jQuery
+0

Почему вы не ссылаетесь на официальный учебник jQuery (я не имею в виду документацию) ? –

+0

@EddieCastle Вы бы отправились в Google и искали ** «как получить элементы по имени jQuery» **, а затем вы будете искать ** «Как получить элементы по имени класса jQuery» **, тогда вы будете искать ** " как добавить класс в элемент jQuery "** Затем вы собрали бы то, что научились создавать свои функции. – iConnor

0

Попробуйте это.

function getElements(name1){ 
    if ($("[name='" + name1 + "'").hasClass("visible")){ 
     $("[name='" + name1 + "'").removeClass("visible").addClass("hidden"); 
    } else { 
     if($(".visible") != null){ 
      $(".visible").addClass("hidden"); 
     } 
     $("[name='" + name1 + "'").removeClass("visible").addClass("visible"); 
    } 
} 
+0

Его оригинальный код заменяет класс, вы добавляете класс, не удаляя старый. В итоге у вас будет элемент, который скрыт и видим, что, вероятно, нежелательно. – Barmar

+0

Именно так я хотел получить код, за исключением того, что в строке 8 это будет $ ("[name = '" + name1 + "'") .removeClass ("hidden"). AddClass ("visible") ; –

+0

Nevermind, Barmar прав, он заканчивается скрытым и видимым классом. –

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