我有一个jquery选择器的奇怪问题,实际上它正在考虑将脚本作为span,因为以下代码不起作用:
<span id="sp1">
<script></script>
<span>1</span>
<span>2</span>
</span>
Run Code Online (Sandbox Code Playgroud)
我的selctor代码是:
<script>
if(typeof jQuery != 'undefined'){
$j =jQuery.noConflict();
}
$j(function() {
alert($j("#sp1 span:nth-child(1)").text());
alert($j("#sp1 span:nth-child(2)").text());
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是它将脚本作为第一个跨度返回,但我无法修改代码以获取第二个和第三个子节点,因为上面的示例代码是在循环中复制的,而在代码的其他部分中,没有脚本在跨度.如何在没有循环但只有正确的选择器的情况下实现这一目标?
您看到的输出是预期的输出,因为:nth-child()无论元素性质如何,都会选择第n个子元素.所以在这种情况下你应该使用:nth-of-type()
尝试,
alert($j("#sp1 span:nth-of-type(1)").text());
alert($j("#sp1 span:nth-of-type(2)").text());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |