JQuery Hide () не работает - PullRequest
       10

JQuery Hide () не работает

1 голос
/ 16 сентября 2011

Я пытаюсь скрыть выпадающий список (выбрать элемент), используя скрыть, но не могу.Ниже приведен код jQuery, который я использую.

$('.myClass').find('select[name=xyz]').hide();

Исключение в chrome: у объекта xyz нет метода 'hide'


Соответствующий HTML

<div class="myClass">
        <select id="xyz" name="xyz">
                    <option>option1</option>
                    <option>option2</option>
                    </select>
        <select id="123" name="123">
                    <option>option3</option>
                    <option>option4</option>
                    </select>
</div>

Ответы [ 4 ]

1 голос
/ 16 сентября 2011

РЕДАКТИРОВАТЬ: Я вижу, что вы отредактировали HTML-код в своем сообщении и добавили атрибут name, который изначально отсутствовал. Ваш HTML и javascript работают для меня в этом jsFiddle , поэтому, если он не работает для вас, то это потому, что у вас есть что-то не так на вашей странице или дубликаты идентификаторов или что-то в этом роде. Тем не менее, я предлагаю вам использовать более простую форму, которую я предлагаю ниже, так как она проще, быстрее и надежнее.

Предыдущий ответ До редактирования ОП:

Я не вижу атрибута name для вашего соответствия. Если вы хотите получить тег select с идентификатором xyz, используйте это:

$("#xyz").hide();

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

0 голосов
/ 16 сентября 2011

у вас нет имени в вашем списке

$('.myClass #xyz').hide();

вам нужно добавить имя, если вы когда-либо планируете это представить. Финал, примечание: идентификаторы и атрибуты в общем случае должны начинаться не с цифры, а с буквы.

<div class="myClass">
        <select name="xyz" id="xyz">
                    <option>option1</option>
                    <option>option2</option>
                    </select>
        <select name="abc" id="abc">
                    <option>option3</option>
                    <option>option4</option>
                    </select>
</div>
0 голосов
/ 16 сентября 2011

У вас есть идентификатор выбора, помеченный xyz.

$('.myClass').find('select#xyz').hide();

Или еще лучше

$('#xyz').hide();

Селектор jQuery [attribute = value] ищет определенный атрибут.

Селектор идентификатора jQuery будет искать идентификатор элемента.

0 голосов
/ 16 сентября 2011

нет [name=xyz]

изменить его на id

$('.myClass #xyz').hide();

http://sandbox.phpcode.eu/g/1acce/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...