我的代码:
<div class="subManuSched'.$data2->ordernumber.'">
<div class="subManuSched'.$data2->ordernumber.'">
<div class="subManuSched'.$data2->ordernumber.'">
...onclick="hidediv('.$data2->ordernumber.')...
function hidediv(counter) {
document.getElementsByClassName('subManuSched'+counter)[0].style.visibility = 'hidden';
alert('subManuSched'+counter);
}
我想隐藏几个具有相同类名的div。提到代码后,我没有收到任何错误,但是什么也没有发生。 $ data2-> ordernumber是JS函数的给定参数,在此处名为“ counter”。最后的警报向我正确显示了该类的名称,并且已使用源代码对其进行了检查。 我在这里找到了很多对其他人有用的解决方案,但是它对我的代码永远无效。不知道为什么!
答案 0 :(得分:0)
从JS动态更改它时,“可见性”存在类似问题,您应该尝试:
document.getElementsByClassName('subManuSched'+counter)[0].style.display = 'none';
答案 1 :(得分:0)
我已经使用在stackoverflow上找到的代码解决了问题:
$this->html .= '<tr><td class="toggler" data="'.$data2->AUNR.$data2->Nr.'">P</td>';
var DELAY = 700, clicks = 0, timer = null;
$(function(){
$(".toggler").on("click", function(e){
clicks++; //count clicks
if(clicks === 1) {
timer = setTimeout(function() {
alert("Single Click"); //perform single-click action
$('.submanusched'+$(this).attr('data')).toggle();
clicks = 0; //after action performed, reset counter
}, DELAY);
} else {
clearTimeout(timer); //prevent single-click action
alert("Double Click"); //perform double-click action
$('.submanusched'+$(this).attr('data')).toggle();
clicks = 0; //after action performed, reset counter
}
})
.on("dblclick", function(e){
e.preventDefault(); //cancel system double-click event
});
});
,但仅处理“双击”中插入的行!我看到了这两个警报,但是在“单击”上发散的行从未被处理过! 你知道为什么吗?怎么了?
感谢您的帮助! 斯蒂芬