javascript - 使用连字符吸引 ID 时 GetElementById 不起作用
问题描述
在 html 元素的不可更改 id 标签上使用 attr('id') 时,我的代码适用于 id 没有连字符的所有实例,但是当 id 包含连字符时会中断。
$('.coloursContainer .radio-box').live('click', function(){
if ($(this).hasClass('selected')){
} else {
var radioID = $(this).attr('id');
$(this).parent().find('.radio-box').removeClass('selected');
document.getElementById(radioID).classList.add('selected');
}
});
<div class="coloursContainer">
<div class="radio-box" id="Natural Wave Structure" data-category="trim-colour" data-price="0">
<span class="selectedSign">SELECTED</span>
<span class="imgBox" style="background-image:url('/img/colours/804.jpg')"></span>
<h3>Natural Wave Structure</h3>
<p>+ £0</p>
</div>
<div class="radio-box" id="Semi-solid Oak" data-category="trim-colour" data-price="0">
<span class="selectedSign">SELECTED</span>
<span class="imgBox" style="background-image:url('/img/colours/203.jpg')"></span>
<h3>Semi-solid Oak</h3>
<p>+ £0</p>
</div>
</div>
第一个单选框添加了“选定”类,但是 ID 为“Semi-solid Oak”的第二个框没有。
解决方案
我认为这是您使用的 jquery 版本的问题,我认为这可以通过使用.on
来解决.live.
检查 jquery 文档http://api.jquery.com/live/ [检查 jquery文档][1]
推荐阅读
- java - 即使抛出异常`com.jayway.jsonpath.PathNotFoundException`,如何在JSON中收集标签的所有其他值?
- php - 将 Docker 容器链接到卷
- visual-studio-code - 如何修复 macOS Big Sur 上的 VS Code 集成终端不稳定和滞后?
- java - 如何以操纵方式重复文本,并重复此操作直到达到我的目标?
- python - 当大多数任务成功而只有少数任务失败时,如何将 DAG 运行标记为成功?
- python - 从 AllenNLP Open IE 模型中提取后处理三元组
- reactjs - 是否可以重定向到另一个页面并在 Reactjs 中填写一个字段?
- unity3d - Unity 字符串事件在通用 Windows 平台构建上不起作用
- flutter - 将 webview 自动调整到容器中
- python-3.x - 如何在 WxPython GUI 中拖动图像对象?