CSS选择器工作,jquery选择器不工作(IE只发布)

时间:2011-12-14 14:45:29

标签: jquery css internet-explorer jquery-selectors css-selectors

请注意以下是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()

我真的想选择标签的跨度,因为我想要更改它的文本,并且不希望每次都附加新的跨度。

谢谢,

编辑:

有趣的是,如果我执行以下操作就可以了......

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

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

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

答案 1 :(得分:1)

这对我来说在IE8中有效。也许是因为你没有关闭checked="checked上的“

示例:http://jsfiddle.net/mEAYr/