1

Пожалуйста, обратите внимание, что следующее является только IE проблема (как обычно ...)селектор CSS работает, селектор JQuery нет (IE только выпуск)

У меня есть следующий HTML-код:

<input id="foo" type="checkbox" checked="checked" /> 
<label for="foo"> 
    <span>some foo text</span> 
</label> 

у меня есть правило CSS, который работает отлично:

#foo + label > span{ 
    display: block; 
    line-height: 1em; 
    padding: 0.4em 1em; 
    cursor: pointer; 
    text-align:center; 
    text-decoration:none; 
} 

Я тогда селектор CSS, который соответствовал один и тот же селектор CSS, который ничего не возвращается:

var textVal = $("#foo + label > span").text(); 

Но по какой-то причине, если я использую следующую строку, она будет возвращать правильное значение:

var textVal = $("#foo + label").html() or .text() 

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

Спасибо,

EDIT:

Интересно, если я делаю следующее это работает ...

var label = $("#foo + label"); 
var textVal = $(">span",label).text(); 
+0

Это своеобразный ... – BoltClock

ответ

1

Попробуйте следующее:

var textVal = $("label[for='foo'] span").text(); 
+0

да это и мое редактирование работает на Но я до сих пор не понимаю, почему мой первый селектор Бесполезный Работа потому, что первая часть селектора $ ("# foo + label") работала просто отлично –

1

Это работает в IE8 для меня. Может быть, его, потому что вы не закрывал "на checked="checked

Пример:. http://jsfiddle.net/mEAYr/

+0

, это просто stackoverflow, не показывающий его по какой-то причине. Oh и btw, im, используя IE7 –

+0

btw благодаря этой ссылке jsfiddle, его удивительный :) –