Javascript 如何使用标准HTML按钮元素控制单选按钮?

Javascript 如何使用标准HTML按钮元素控制单选按钮?,javascript,html,jquery,leaflet,Javascript,Html,Jquery,Leaflet,我正在使用传单和它们的烘焙控制器,它们添加了HTML元素,使得重新设计它们变得困难。我想写一个脚本,让我激活/停用每个单选按钮,这样我就可以自己的风格控制面板。以下是传单中的一个片段: <div class="leaflet-control-layers-base"> <label> <div><input type="radio" class="leaflet-control-l

我正在使用传单和它们的烘焙控制器,它们添加了HTML元素,使得重新设计它们变得困难。我想写一个脚本,让我激活/停用每个单选按钮,这样我就可以自己的风格控制面板。以下是传单中的一个片段:

<div class="leaflet-control-layers-base">
    <label>
        <div><input type="radio" class="leaflet-control-layers-selector" name="leaflet-base-layers_157"><span> All Activities</span></div>
    </label>
    <label>
        <div><input type="radio" class="leaflet-control-layers-selector" name="leaflet-base-layers_157"><span> <span id="icons1">Beaches</span></span></div>
    </label>
    <label>
        <div><input type="radio" class="leaflet-control-layers-selector" name="leaflet-base-layers_157"><span> <span id="icons2">Wading pools</span></span></div>
    </label>
    <label>
        <div><input type="radio" class="leaflet-control-layers-selector" name="leaflet-base-layers_157"><span> <span id="icons3">Swimming pools</span></span></div>
    </label>
</div>

我还尝试了$'。传单控制层选择器:nth-of-type1'。选中;几乎没有成功。如何逐个选择?

尝试从标签中删除div。这可能是导致您出现问题的原因。Div是一个块元素,因此不能进入只接受短语的标签中。不过,您的跨距应该很好。

如果样式是您唯一的问题,但是元素位置是可以的,那么为什么不使用纯CSS呢

.传单控制层基本标签输入[类型=收音机]{ 位置:绝对位置; 溢出:隐藏; 边界:0; 高度:1px; 宽度:1px; 剪辑:rect0; } .传单控制层基本标签输入[类型=无线电]+范围:之前{ 内容:; 显示:内联块; 宽度:1米; 高度:1米; 边界半径:50%; 右边距:0.5em; 过渡:0.25s; 框阴影:插入0 2px 000; } .传单控制层基本标签输入[类型=无线电]:选中+跨度:之前{ 盒影:镶嵌0 0 2px 000,镶嵌0 0 5px黄金,镶嵌0 0 0 1em 000; } 所有活动 海滩 涉水池 游泳池
这应该是什么呢?on?内部也是无效的HTML5,因为标签的模型是短语内容的一部分。同样,传单控制层选择器作为选择器就像是针对自定义元素标记一样,这不是您的情况。您有一个类选择器,因此请使用类选择器:。传单控制层-selector@RokoC.Buljan谢谢你的评论。我知道这是个坏习惯。这是我最头疼的事。就像我提到的,我不能写这个HTML。它像那样直接从传单图书馆出来,我只需要用它。应该检查.on,但由于某些原因,它总是返回未定义的。@RokoC.Buljan如果您认为这很容易混淆,请让我清理一下并重新发布。途中的编辑我可以去掉那些使用jQuery或Javascript的吗?@MichaelPerna inside是无效语法,但不是问题的主要原因。这个答案实际上只是重复了一个已经存在的评论。我有一个完整的工作示例,说明我是如何在链接中对其进行样式化的。我关心的是让它与我在网站其他地方创建的其他样式和动画相匹配。编辑:由于额外的费用,很难正确编辑标签。@MichaelPerna抱歉。我失去了你:\你的网站看起来很好很有趣。PS您只是有一个问题-选中了三个选项,但地图上没有可见的标记。没有问题,特定的地图显示所有符合所有选定条件的管脚。我还在试验地图和过滤,所以我在这里哈哈。@MichaelPerna传单使用无效标记真是难以置信。千万不要像在元素上那样使用:before或:after伪。正如我已经说过的,我们永远不会在一个el中结束。对不起,我生气了。。。你应该发布一些关于该插件的严重问题,除非我遗漏了一些明显的东西,并在他们的Git repo上提交bug/改进报告。欢迎您链接到这个问题和我的评论。这太离谱了。接下来我希望看到的是传单foo属性,而不是有效的数据-*属性…@MichaelPerna我仍然不知道您想要实现的输入样式是什么。。。不管怎样,我在这件事上已经浪费了太多的时间,我想我到目前为止帮不了什么忙。
  var x = $('leaflet-control-layers-selector.eq(0)').checked;