扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如果你在代码中判断换行可用 \n
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网站空间、营销软件、网站建设、伊金霍洛网站维护、网站推广。
如果在网页面中输出一个换行须要用br / 这时\n就不起作用了!javascript中的换行符为\n,这是一种基于HTML网页编辑的换行。
如果要输出形式如下的警告
--------
第一行
第二行
--------
可以使用alert("第一行\n第二行");
JavaScript各行代码如何理解?function foo(a,b,c){ }
var bar={ };
foo.apply(bar,[1,2,3]);
foo.call(bar,1,2,3);
function foo(a,b,c){ } // 定义一个函数
var bar={ }; // 定义一个 JSON 对象
foo.apply(bar,[1,2,3]); // 这一句的意思是在指定的作用域下执行这个函数, 第一个参数就是你指定的作用域, 也就是bar, 此时所有的操作都会在 bar 这个对象下进行
foo.call(bar,1,2,3); // 与上一句意思一样,唯一不同的是传入的参数方式不一样,上一句参数必须作为数组传入, call 方法需要把参数逐个传入
1.应该直接 “Element.onclick=”,要删掉 “.onclick”前的“.innerHTML”。并且,以这种方式给元素添加 onclick 事件时,等号后应该是一个在触发事件后被调用的函数,而不是一个字符串。但直接 Element.onclick=deleteScore(this) 的话实际赋给 onclick 的会是 deleteScore(this) 的返回值,所以要写成
rs.cells[5].onclick = function() {deleteScore(this)};
这种形式。
2.传给您的 deleteScore 函数的参数 this 指向的是 rs.cells[5] 这个元素,但您的 deleteScore 需要接收的应该是一个学号,所以需要改成
rs.cells[5].onclick = function() {deleteScore(stu.ID)};
顺便,我找不到您的 stu 对象,它应该以参数的形式传给您的 addTable 函数。
3.您的 deleteScore 函数中的
var a = document.getElementById(ID);
是试图通过作为删除按钮即 rs.cells[5] 的 id 的学号(参数 ID)获取这个删除按钮,要记得给删除按钮添加这个 id。
rs.cells[5].id = stu.ID;
4.您的 rs.cells[5] 是一个 td 元素。这时 deleteScore 函数中的
var i = a.parentNode.parentNode.rowIndex;
应该改成
var i = a.parentNode.rowIndex;
否则将会试图获取 table元素的 rowIndex 属性。
var trNum=行数;
var tdNum=列数;
var html = 'table';
for(var i=0; itrNum; i++){
html += 'tr';
for(var j=0; jtdNum; j++){
html += "td/td";
}
html += '/tr';
}
html+='/table';
$('body').append($(html)); //$用的是jquery,不懂你有没学
因为ie的兼容性问题(table节点下没法添加tr节点),原表格必须在table节点下有tbody节点,所有的tr节点都是在tbody节点之下。
当我们要添加行的时候,创建tr节点,然后添加到tbody节点之下,再创建对应的td节点,添加到tr节点之下就行了。
测试代码如下:
table
tbody id="myTableBody"
tr
td第一行/td
/tr
tr
td第二行/td
/tr
/tbody
/table
input type="button" value="追加行" onclick="appendRow()" /
script type="text/javascript"
function appendRow() {
var tableBody = document.getElementById('myTableBody');
var newRow = document.createElement('tr');
tableBody.appendChild(newRow);
var td = document.createElement('td');
td.innerHTML = '新行';
newRow.appendChild(td);
}
另外楼下提到的insertRow也可以 不过要注意加上参数-1, 这样才可以兼容Firefox。但是insertCell就显得不怎么好用了,因为用insertCell生成的td是没法用innerHTML赋值的
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流