Я хотел бы выбрать все элементы с атрибутом magic. Но я не люблю получать детей, у которых нет атрибута с именем magic.Есть ли способ выбрать только согласованные элементы, но не их дети в jQuery?
Выбранные элементы не должны изменять свой порядок в соответствии с родителем с атрибутом magic.
Например,
У меня есть HTML как это:
<div magic="row">
<div magic="inputWrapper">
<input magic="input"></input>
<input magic="input"></input>
</div>
<div>
<div class="row">
<div>
<button magic="write">Write</button>
</div>
<div>
<button magic="delete">Delete</button>
</div>
<div>
<button magic="new">New</button>
</div>
</div>
</div>
</div>
То, что я хочу, чтобы получить это:
<div magic="row">
<div magic="inputWrapper">
<input magic="input"></input>
<input magic="input"></input>
</div>
<button magic="write">Write</button>
<button magic="delete">Delete</button>
<button magic="new">New</button>
</div>
Это легкая задача с только селекторы или я должен использовать циклы и т. д.?
Вы должны префиксом своего 'magic' с данными, а затем выберите следующее:' $ («* [данные магии]») 'в JQuery, который будет выбрать все элементы с этим атрибутом. Если вы хотите переместить элементы, используйте '$ (« * [data-magic]). Detach(). AppendTo («где бы вы ни захотели добавить материал») ' – somethinghere
Во-первых, добавление собственных свойств недействительно, вы должны использовать 'data- *'. Во-вторых, вы только пытаетесь переместить элементы 'button' на верхний уровень' div'? Есть ли какая-то другая логика, которую вы используете для изменения DOM? –
Если вы их выберете, вы не просто получаете все элементы, у которых есть нужный вам атрибут (т.е. магия), или вы действительно хотите изменить разметку на странице? –