这是来自我的控制台的错误,来自下面的脚本,
未捕获的TypeError:无法设置属性' onclick'为null
<script>
document.getElementById("finish_$pend[contractID]").onclick=function() {
if (document.getElementById("finish_$pend[name]_$i").style.display==="none") {
document.getElementById("finish_$pend[name]_$i").style.display="block";}
else {
document.getElementById("finish_$pend[name]_$i").style.display="none"}}
</script>
Heres the HTML Markup, for the script posted above
<div class="panel-body text-center">
<table class='table table-responsive'>
<?php
$user=$this->session->user_id;
$pending = $database->select("tbl_contract", "name, amount, contractID","userID = ".$user." AND paid = 1 AND confirmed = 0", "date ");
$i=1;
if (is_array($pending)) {
foreach($pending as $pend) { print <<<HERE
<tr>
<td>
<div style="border-bottom: 1px solid gainsboro; padding-bottom: 10px; text-align: left; color: grey">
<span>$i. $pend[name] - $$pend[amount]</span>
<!--<button id="finish_$pend[contractID]" style="position: absolute; right: 50px; background: orange; color: white; border-radius: 3px; margin-top: 3px; border: 1px solid orange">Checkout</button> -->
</td>
</tr>
</div>
答案 0 :(得分:0)
您的问题摘要
根据您发布的内容我的理解是,您尝试将事件设置为函数时会出现错误,这是不可能的。
编辑:
在查看了自发布以来的HTML标记后,我可以看到您要执行的操作,看起来您尝试根据显示与否之间的onclick事件来回切换元素的显示
的解决方案强>
但是,您无法将事件侦听器(onclick)设置为函数。 你似乎在做什么。
已编辑的帖子 由于您已发布HTML标记,因此我建议
function funToggleDisplay(elName){
var el = document.getElementById(elName);
if(el.style.display=="block" || el.style.display==""){
el.style.display="none";
}else{
el.style.display="block"
}
}
.divToControlToggle{
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
text-align: left;
color: grey;
width: 100%;
background: lime
}
.table-responsive{
width: 100%;
}
<div class="panel-body text-center">
<table class='table table-responsive'>
<tr>
<td onclick="funToggleDisplay('amounts')">Click me to hide and show the amounts</td>
</tr>
<tr>
<td id="amounts">
<div onclick="funToggleDisplay('amounts')" class="divToControlToggle">
<span>$50.00</span>
</div>
</td>
</tr>
</table>
</div>
注意:强> 您的HTML无效,您没有按正确的顺序关闭DIV /表元素