Javascript 将所有属性为';必需的';复选框除外
我正在尝试在任何元素之后添加一个“span”,该元素具有“必需”属性,但“复选框”除外,但似乎不适用于“复选框”(复选框仍具有span,复选框必须排除或不包括)。有什么想法、帮助、线索、建议、建议吗?下面是我的片段Javascript 将所有属性为';必需的';复选框除外,javascript,jquery,Javascript,Jquery,我正在尝试在任何元素之后添加一个“span”,该元素具有“必需”属性,但“复选框”除外,但似乎不适用于“复选框”(复选框仍具有span,复选框必须排除或不包括)。有什么想法、帮助、线索、建议、建议吗?下面是我的片段 $(文档).ready(函数(){ //向具有required属性的所有输入、选择等添加required指示符。 $(':必填项:不([name=“checkbox”])。在('This field is required')之后; }); :必需的不是有效的伪选择器,请
$(文档).ready(函数(){
//向具有required属性的所有输入、选择等添加required指示符。
$(':必填项:不([name=“checkbox”])。在('This field is required')之后;
});代码>
:必需的
不是有效的伪选择器,请使用
复选框
是类型
不是名称
。选择器[name=“checkbox”]
将选择具有名称
属性值的所有元素作为复选框
而不是
$(':required:not([name="checkbox"])')
使用
$(文档).ready(函数(){
//向具有required属性的所有输入、选择等添加required指示符。
$('[必需]:不是([type=“checkbox”])。在('此字段是必需的')之后;
});代码>
- 没有
:必需的伪选择器
- 您应该使用
[type=“checkbox”]
(而不是[name=“checkbox”]
),因为checkbox是属性type
的值
只有在您愿意的情况下,才可以使用CSS2/3执行此操作:
<style>
input span {
display: none;
}
input.required:not([type="checkbox"]) + span {
display:block;
padding: 5px;
border: 1px solid #ff0000;
content: "required!";
}
</style>
<div>
<input type="checkbox" name="checkbox" value="1" checked="checked" class="required" />
<span></span>
</div>
<div>
<input type="text" name="text" value="" class="required" />
<span></span>
</div>
输入范围{
显示:无;
}
输入。必填项:不([type=“checkbox”])+span{
显示:块;
填充物:5px;
边框:1px实心#ff0000;
内容:“必选!”;
}
我们正在做的是将跨度设置为隐藏,但是如果输入具有所需的类,并且不是复选框,那么跨度将显示。您可以使用::after和::before对span执行其他种类的操作。CSS中的+是相邻的选择器。我们需要添加跨距,因为输入[type=text]的::before和::after选择器不起作用,而它适用于其他一些输入字段
JS小提琴:
不错,但是如果我想同时排除复选框和单选输入,该怎么办?
$('[required]:not([type="checkbox"])')
<style>
input span {
display: none;
}
input.required:not([type="checkbox"]) + span {
display:block;
padding: 5px;
border: 1px solid #ff0000;
content: "required!";
}
</style>
<div>
<input type="checkbox" name="checkbox" value="1" checked="checked" class="required" />
<span></span>
</div>
<div>
<input type="text" name="text" value="" class="required" />
<span></span>
</div>