Html ~z~选择器无法在Android中工作
这是我的HTMLHtml ~z~选择器无法在Android中工作,html,css,css-selectors,Html,Css,Css Selectors,这是我的HTML <div class="test" onclick="this.querySelector('.rad').checked=true;"> <input type="radio" class="rad" name="rad" /> <div>hello</div> </div> <div class="test"> <input type="radio" class="rad" na
<div class="test" onclick="this.querySelector('.rad').checked=true;">
<input type="radio" class="rad" name="rad" />
<div>hello</div>
</div>
<div class="test">
<input type="radio" class="rad" name="rad" />
<div>hello1</div>
</div>
这在桌面浏览器和用户代理中运行良好,但当我在Android设备上测试它时,它不起作用。Android 4.0+中的测试版本。谁能告诉我怎么才能解决这个问题
注意:使用onclick而不是ontouchend发布代码不确定,因为我无法对其进行现场测试,但如果您愿意,
+
相邻选择器也会执行相同的操作
.test input:checked + div {
color: #3498DB !important;
}
就您的示例而言,我看不到使用~
的任何有效理由,因为您没有选择所有div
元素,后面跟着input
标记,在您的示例中只有一个
另外,我想告诉您,如果您还使用类似于选择器的
attr=val
selector指定属性值,则效果更好
.test input[type="radio"]:checked + div {
color: #3498DB !important;
}
android设备不支持
:checked
伪类
请看这里:
通过在body元素上伪造动画,可以克服Webkit的伪类+常规/相邻兄弟选择器错误:检查此previus问题:
这是一个黑客攻击,但它是一个有效的解决方案。将在几分钟内检查并更新它。谢谢你的回复。根据安卓的说法,它确实支持:checked pseudo classs。对否决票有什么评论吗?如果答案无效,我真的很想编辑我的答案+1哦,这证明有时候问一个重复的问题是有帮助的:)@Mr_Green,但这个页面让人产生了希望,它在实际设备中工作。在前面的问题中,答案说它不受支持,并且同级选择可能是+或~:)。很抱歉,我不知道已经有人问过了。@Mr.Alien根据你的建议,我已经尝试了
+
它在Android 4+设备上运行良好@Fabrizio该代码在Android 4+设备上运行良好。我不确定第2条和第3条:)@redV取消删除了我的答案,因为我没有删除sure@redV,与css无关,但如果您可以为您的收音机提供一个id,您可以将输入和div包装在一个标签中,然后在单击包装器时,您不需要使用js检查收音机:@Pete这是一个有效点。但我想提及的是,标签将在单击时执行,默认情况下,单选按钮将在300毫秒延迟后被选中。所以,我更喜欢ontouchend而不是label:),但它肯定是有效的。
.test input[type="radio"]:checked + div {
color: #3498DB !important;
}