2010-04-08 3 views
190

HTML :CSS에서 label = = "email"을 선택하는 방법은 무엇입니까?

<label for="email">{t _your_email}:</label>

CSS : 나는 그 폭 될 운명이 아니에요으로 이메일 라벨에 대한 새로운 CSS를 만들고 싶어

label { 
    display: block; 
    width: 156px; 
    cursor: pointer; 
    padding-right: 6px; 
    padding-bottom: 1px; 
} 

. DOM을 사용하여

label[for=email] 
{ 
    /* ...definitions here... */ 
} 

... 또는 자바 스크립트 : CSS에 있도록

답변

395

선택기는, label[for=email]

var element = document.querySelector("label[for=email]"); 

을 ... 나 자바 스크립트에서 사용하는 jQuery를 :

var element = $("label[for=email]"); 

이것은 attribute selector입니다. 일부 브라우저 (예 : IE < 버전)는 속성 선택기를 지원하지 않을 수 있지만 최신 브라우저는 지원하지 않을 수 있습니다. IE6 및 IE7과 같은 구형 브라우저를 지원하려면 슬프게도 클래스 (잘 또는 다른 구조적 방법)를 사용해야합니다.

는 (I 템플릿 {t _your_email}id="email"으로 필드를 입력합니다 있으리라 믿고있어. 그렇지 않으면하는 대신 클래스를 사용합니다.) 당신이 선택하고있는 속성의 값이 않는 경우 적합하지 않는 것이

label[for="field[]"] 
{ 
    /* ...definitions here... */ 
} 

그들은 can be single or double quotes : (그것은에 공백이나 괄호가 있거나, 숫자로 등을 시작하는 경우 예를 들어,)는 CSS identifier에 대한 규칙, 당신은 값 따옴표가 필요합니다.

+0

ie7 용 조건부 주석을 사용하여 클래스로 변경하겠습니다. 훌륭한 답변을 주셔서 감사합니다! – Kyle

+0

그리고 지금 jQuery 워드 프로세서는 한 단어에 대해 따옴표가 필요 없다고 말합니다. 따라서 CSS와 다시 일치합니다 (이 점에서). –

+5

모든 사람에게 혼란을 피하려면 (라벨을 붙이기 위해'[for = email]'사이에 공백이 없어야합니다.) – poepje

관련 문제