2012-07-02 2 views
0

У меня есть объект в HTML:выбора элемента с помощью JQuery

<li id="m_delete" data-group="edit" class="m_delete edit-object disabled" data-control="delete" title="Delete"><a href="#"></a></li> 
<li id="m_edit" data-group="edit" class="m_edit edit-object disabled" data-control="drag" title="Edit"><a href="#"></a></li> 

Используя следующую строку я выбрать все элементы в конкретном классе.

$("#toolbar .edit-object").addClass('disabled'); 

Но как я могу выбрать только delete элемент из этого класса? Что не так в следующей строке?

$("#toolbar .m_delete .edit-object").removeClass('disabled'); 

Это неправильная информация. Как это можно исправить (выберите только удалить объект)?

ответ

3
$("#toolbar .m_delete.edit-object").removeClass('disabled'); 

вы должны удалить пустое пространство между названиями классом, чтобы сделать ваш селектор правильно работать (потому, что вы ищете элемент внутри #toolbar с как классов)

, но, конечно, это лучше адрес элемент с

$("#m_delete") 

ради производительности (и потому, что идентификатор является уникальным на странице)

+0

благодарственное! он работает –

+0

+1 для выбора идентификатора - Ха-ха просто сказал это, но вы обновили. Хороший ответ :) – nbrooks

+0

@Bob, если это помогло, пожалуйста, подумайте, чтобы принять ответ :) – fcalderan

0

Если вы хотите, чтобы выбрать элементы с обеих m_delete класса и класса .edit-объекта, вы можете использовать этот селектор:

$("#toolbar .m_delete.edit-object").removeClass('disabled'); 

Я удалили пространство, так как он будет выбирать все .m_delete с дочерним элементом .edit- объект.

0

Проблема с вашим селектором заключается в том, что он выбирает все элементы, которые имеют класс edit-object, и имеет родительский узел с классом m_delete, который имеет родительский узел с идентификатором toolbar.

Вы можете перевести его в своем уме, как это:

#toolbar // .m_delete // .edit-object 

Как F. Calderan говорит в своем посте правильно вы можете сопоставить элемент с обеих edit-object и m_delete класса без пробела в селекторе: .edit_object.m_delete.

Это может быть переведено на:

#toolbar // .m_delete & .edit_object 
Смежные вопросы