2016-07-04 2 views
-2

Есть ли способ, которым я могу выбрать родительский элемент с помощью css? Я имею в виду моя структура этоВыбор родительского элемента с помощью css

<label> 
    <input /> 
<label> 

В моей CSS я пытаюсь сделать что-то вроде этого,

input['_type_']:checked _parent_ label:after{ 
    some css 
} 

я не могу использовать, атрибут для в этикетке.

+1

** Заметка модератора **: Пожалуйста, держите комментарии гражданскими и конструктивными - спасибо. –

ответ

0

К сожалению, нет родительского селектор в CSS, но вы можете поставить label после input и сделать что-то вроде этого (используя соседний родственный комбинатор, «+», в вашем селекторе).

HMTL:

<input /> 
<label><label> 

CSS:

input['_type_']:checked + label:after{ /*means the element that follows input*/ 
    some css 
} 

Вы можете также сделать некоторые уродливые Hacky трюк и поставить другую метку внутри этикетки

JSFiddle

HTML:

<label> 
    click me 
    <input type="checkbox" /> 
    <label>color</label> 
</label> 

CSS:

input[type="checkbox"]:checked + label { 
    color: red; 
} 

Таким образом, вы можете нажать ярлык и сделать некоторые вещи с другой этикеткой, которая идет после ввода.

HTH.

+0

, но при этом не будет проверяться элемент ввода при нажатии метки. Потому что это не связано с каким-либо элементом ввода. – mohsinali1317

+0

Вы можете сделать какой-то хакерский трюк (если вы не можете использовать атрибут 'for') и поместить в свой ярлык другой ярлык, как в этом примере: https://jsfiddle.net/Konrud/bg0jbear/ – Konrud

+0

большое спасибо. Но я закончил создание пользовательского связующего, поскольку я использую нокаут. Это сработало для меня, и код был не уродливым, как если бы я использовал jQuery. – mohsinali1317

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