2013-11-06 4 views
0

Я хочу получить объект элемента ввода радио.Получить элемент через jQuery быстро

В этом подходе, если страница огромна с множеством радиовходов, потребуется время, чтобы перебрать их перед возвратом объекта.

Есть ли более быстрый подход к получению входного объекта, кроме этого? Условие состоит в том, что значение должно начинаться с текста '9Z'.

<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
    <div> 
     <td> 
      <input type="radio" value="9Z>2"> 
     </td> 
    </div> 

    <script> 
     var r = $("input:radio[value^='9Z']"); 
     alert(r.length); //I got the object - length will be greater than 0 
    </script> 
</body> 
</html> 
+1

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

+0

не использовать: радио, это специальный селектор jQuery и будет очень медленным с большим количеством элементов. –

+0

Нет, это невозможно. Данные html не разработаны мной. – Nayan

ответ

3

:radio специфический селектор JQuery, поэтому, используя его, вы не позволяя JQuery использовать более быстрый метод document.querySelectorAll(). Просто замените его атрибутом, равным селектору.

$("input[type=radio][value^='9Z']") 

Если это еще не достаточно быстро, нам нужно будет узнать больше о структуре вашей страницы.

Вы также могли бы сделать это для очень небольшого увеличения (без поддержки IE7):

$(document.querySelector("input[type=radio][value^='9Z']")) 
+0

Спасибо, Кевин !!! – Nayan

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