Селектор CSS работает, селектор jquery не работает (только IE) - PullRequest
1 голос
/ 14 декабря 2011

Обратите внимание, что ниже приведена проблема только для 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();

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Это работает в IE8 для меня. Возможно, это потому, что вы не закрыли "на checked="checked?

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

1 голос
/ 14 декабря 2011

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

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