(抱歉我的aplogize,我有一些错误,只是再次更新了新代码。) 我有以下代码,Chome向控制台抛出“未捕获的TypeError:无法读取属性'样式'”:
function gen_mainTable(){
var code = "";
code +='<table width="100%" border="1" cellspacing="0" cellpadding="4" align="center" class="FormTable_table" id="mainTable_table">';
code +='<tr><td class="CL">SELECT</td><br><td colspan="2" class="CR"><input type="radio" id="aa" name="type_group" value="0" onchange="change_mode();" checked>AA<input type="radio" id="bb" name="type_group" value="1" onchange="change_mode();" >BB</td></tr><br>';
code +='<tr id="aa_field" style="display:none"><td class="CL">TYPE_AA:
</td><td colspan="2" class="CR"><input type="text" id="type_aa" name="type_aa" maxlength="15" size="20" value=""/></td></tr><br>';
code +='<tr id="bb_field"><td class="CL">TYPE_BB:</td>
<td colspan="2" class="CR"><input type="text" id="type_bb" name="type_bb" maxlength="15" size="20" value=""/></td></tr>
$("mainTable").style.display = "";
$("mainTable").innerHTML = code;}
js part:
function change_mode(){
var mode = get_checked_value(get_by_name("type_group"));
if (mode == "0"){
get_by_id("aa_field").style.display = "";
get_by_id("bb_field").style.display = "none";
get_by_id("type_bb").disabled = true;
get_by_id("type_aa").disabled = false;
}else{
get_by_id("aa_field").style.display = "none";
get_by_id("bb_field").style.display = "";
get_by_id("type_aa").disabled = true;
get_by_id("type_bb").disabled = false;
}
}
更新“get_by_id”功能:
function get_by_id(id){
with(document){
return getElementById(id);
}
}
如果有人可以提供帮助,我将不胜感激,谢谢: - )
答案 0 :(得分:0)
好吧,我今天学到了一些东西:如果没有tr
,你就无法使用ID(document.getElementById
或document.querySelector
)从表格中抓取table
行数据周围的标签。
参见此演示。在第一个实例中,我正在选择bob
行,因为它位于某些table
个标记中,而第二个rose
中则是null
,因为它不是:
因此,要解决此问题,请在行数据周围添加table
元素:)
这似乎是因为the HTML specification requires that a tr
must live within either a tfoot
, thead
, tbody
or table
context因为包含在DOM中“可以接受”。