我有这个 html 代码:
<a onclick='addSelector(this)'>
<img src='resources/img/produkti/test.jpg'>
<input type='checkbox' value='test.jpg' name='main_image'>
</a>
这是我的 JavaScript:
function addSelector(elem) {
var a = document.getElementsByTagName('a')
for (i = 0; i < a.length; i++) {
a[i].classList.remove('selected')
}
elem.classList.add('selected');
elem.find( 'input[type=checkbox]').prop('checked', true);
}
因此,当单击“a”时,它会获得“选定”类。我想让 child 的输入也得到“检查”。有什么办法可以解决这个问题吗?
最佳答案
epascarello 的评论是正确的,但最终你的问题是 elem
不是 jQuery 对象。在最后一行(或应用 jQuery 函数的任何地方)使用 $(elem)
可能会取得更好的成功。
编写整个内容的更好方法是在元素上设置一个点击监听器,如下所示:
// Listen for an anchor being clicked
$('a').on('click', function(event) {
// Remove selected class from all anchors
$('a').removeClass('selected');
// Add selected class to this element
$(this).addClass('selected');
// Make the relevant checkbox ticked
$(this).find('input[type="checkbox"]').prop('checked', true);
});
尽管正如其他地方提到的,标签比 anchor 更好:)。
关于javascript - 当选择父级 "checked"时,将 "a"添加到输入,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28633697/