js在table指定tr行上或下面添加tr行
function onAddTR(trIndex)
{
var tb = document.getElementById("tb1");
var newTr = tb.insertRow(trIndex);//添加新行,trIndex就是要添加的位置
var newTd1 = newTr.insertCell();
newTd1.innerHTML = "这是新行,位置:" + trIndex;
var newTd2 = newTr.insertCell();
newTd2.innerHTML = "这是新行,位置:" + trIndex;
}
<table style="width: 100%;" id="tb1">
<tr onclick="onAddTR(this)">
<td>1</td>
<td>2</td>
</tr>
<tr onclick="onAddTR(this)">
<td>3</td>
<td>4</td>
</tr>
</table>
<script type="text/javascript">
function onAddTR(trObj)
{
$(trObj).after("<tr onclick='onAddTR(this)'><td>这是新行</td><td></td><tr/>");
}
</script>
var table = document.getElementById("tableId");
table.innerHTML = table.innerHTML + "<tr>......</tr>";
table.rows // table 中所有行的集合
table.tBodies // table 中 tbody 中的所有行的集合
利用这两个集合也可以做一些事情
另外 document.createElement("tr") 方法可以创建个空行出来,参数就是 tag 名
主要是取得本行tr,再调用after()或before()函数,在相应位置添加内容。
$(“#tab #tr1″).after(‘<tr><td>4</td></tr>’)
$(“#tab #tr1″).before(‘<tr><td>4</td></tr>’)
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
02
<script>
03
$(function(){
04
$("#getAtr").click(function(){
05
$str='';
06
$str+="<tr align='center'>";
07
$str+="<td><input type='text' name='advTitle[]'/></td>";
08
$str+="<td><input type='file' name='img[]' /></td>";
09
$str+="<td><input type='text' name='advContent[]' /></td>";
10
$str+="<td><input type='text' name='advSource[]' /></td>";
11
$str+="<td><input type='text' name='advAuthor[]' /></td>";
12
$str+="<td><input type='text' name='advPosition[]' /></td>";
13
$str+="<td onClick='getDel(this)'><a href='#'>删除追加</a></td>";
14
$str+="</tr>";
15
$("#addTr").append($str);
16
});
17
});
18
19
function getDel(k){
20
$(k).parent().remove();
21
}
22
</script>
23
24
--------------------------------------------------------------------------------
25
html部分
26
<table align="center" border="1" cellpadding="0" cellspacing="0" width="100%">
27
<tr align="center">
28
<td>广告名称</td>
29
<td>广告图片</td>
30
<td>广告内容</td>
31
<td>广告来源</td>
32
<td>广告作者</td>
33
<td>广告描述</td>
34
<td align="center"><a href="#" id="getAtr">追加内容</a></td>
35
</tr>
36
<tbody id="addTr">
37
<tr align="center">
38
<td><input type="text" name="advTitle[]"/></td>
39
<td><input type="file" name="img[]" /></td>
40
<td><input type="text" name="advContent[]" /></td>
41
<td><input type="text" name="advSource[]" /></td>
42
<td><input type="text" name="advAuthor[]" /></td>
43
<td><input type="text" name="advPosition[]" /></td>
44
<td></td>
45
</tr>
46
</tbody>
47
<tr align="center">
48
<td colspan="5"><input type="submit" value="全部添加" /></td>
49
</tr>
50
</table>
=============================
function onAddTR(trIndex)
{
var tb = document.getElementById("tb1");
var newTr = tb.insertRow(trIndex);//添加新行,trIndex就是要添加的位置
var newTd1 = newTr.insertCell();
newTd1.innerHTML = "这是新行,位置:" + trIndex;
var newTd2 = newTr.insertCell();
newTd2.innerHTML = "这是新行,位置:" + trIndex;
}
<table style="width: 100%;" id="tb1">
<tr onclick="onAddTR(this)">
<td>1</td>
<td>2</td>
</tr>
<tr onclick="onAddTR(this)">
<td>3</td>
<td>4</td>
</tr>
</table>
<script type="text/javascript">
function onAddTR(trObj)
{
$(trObj).after("<tr onclick='onAddTR(this)'><td>这是新行</td><td></td><tr/>");
}
</script>
var table = document.getElementById("tableId");
table.innerHTML = table.innerHTML + "<tr>......</tr>";
table.rows // table 中所有行的集合
table.tBodies // table 中 tbody 中的所有行的集合
利用这两个集合也可以做一些事情
另外 document.createElement("tr") 方法可以创建个空行出来,参数就是 tag 名
主要是取得本行tr,再调用after()或before()函数,在相应位置添加内容。
$(“#tab #tr1″).after(‘<tr><td>4</td></tr>’)
$(“#tab #tr1″).before(‘<tr><td>4</td></tr>’)
===============================================
var num=0;
var td="";
var text="";
var tr="";
function addNode(){
num++;
var table=document.getElementById("table");
tr=document.createElement("tr");
tr.id=num;
tr.setAttribute("align","center");
/*var name1=document.getElementById("name");
var name2=document.getElementById("age");
var name3=document.getElementById("sex");
var name4=document.getElementById("phone");
var name5=document.getElementById("address");*/
var name=document.getElementsByName("name");
//alert(name[2].value);
for(var i=0;i<=name.length-1;i++){
//alert(name[i].value);
var text=document.createTextNode(name[i].value);
td=document.createElement("td");
td.appendChild(text);
tr.appendChild(td);
}
td=document.createElement("td");
tr.appendChild(td);
tr.childNodes[5].innerHTML="<a href='xiugai.html'>修改</a>";
//alert(tr.childNodes.length);
table.appendChild(tr);
if(table.childNodes.length>=6){
//alert("开始分页");
var div1=document.createElement("div");
var tr=document.createElement("tr");
var a=document.createElement("a");
a.href="#";
var td1=document.createElement("td");
//var td2=document.createElement("td");
//var td3=document.createElement("td");
//var td4=document.createElement("td");
var text1=document.createTextNode("下一页");
//var text2=document.createTextNode("bbbbbb");
a.appendChild(text1);
//a.appendChild(text2);
td1.appendChild(a);
//td2.appendChild(a);
tr.appendChild(td1);
//tr.appendChild(td2);
//tr.appendChild(td2);
div1.appendChild(tr);
//div1.appendChild(tr);
document.body.appendChild(div1);
}
var len=table.childNodes.length;
//alert(Math.round(len/5));
}
/*function bian(){
var table=document.getElementById("table").childNodes;
//alert(table.length);
for(var i=0;i<table.length-1;i+=2){
table[i].style.background="red";
}
}*/
//bian();
function fenye(){
var table=document.getElementById("table").childNodes;
}
function ceshi(){
var num1=table.childNodes.length+1;
var num2=Math.round(num1/5);
//alert("一共有"+num2+"页");
for(var i=1;i<=5;i++){
table.childNodes[i].style.display="none";
}
//var td=document.getElmentsTagName("td");
//table.style.display="none";
}
function ceshi1(){
for(var i=1;i<=5;i++){
table.childNodes[i].style.display="block";
}
}
function ceshi2(){
alert(document.getElementById("table").firstChild.firstChild.firstChild.id);
//alert(document.getElementById("table").firstChild.nodeName);
for(var i=1;i<=5;i++){
table.childNodes[i].style.display="none";
}
for(var i=6;i<=10;i++){
table.childNodes[i].style.display="block";
}
for(var i=11;i<=15;i++){
table.childNodes[i].style.display="none";
}
}
function ceshi3(){
for(var i=1;i<=5;i++){
table.childNodes[i].style.display="block";
}
for(var i=6;i<=10;i++){
table.childNodes[i].style.display="none";
}
for(var i=11;i<=15;i++){
table.childNodes[i].style.display="none";
}
}
</script>
</head>
<body>
<form>
姓名:<input type="text" id="name" name="name"/><p>
性别:<input type="text" id="sex" name="name"/><p>
年龄:<input type="text" id="age" name="name"/><p>
电话:<input type="text" id="phone" name="name"/><p>
地址:<input type="text" id="address" name="name"/><p>
<input type="button" value="添加" onclick="addNode()"/>
</form>
<table border="1" width="773" height="33" id="table"><tr style="">
<th width="137" height="27">姓名</th>
<th width="90">性别</th>
<th width="130">年龄</th>
<th width="227">电话</th>
<th width="155">地址</th>
<th width="155">操作</th>
</tr>
</table>
<input type="button" value="隐藏" onclick="ceshi()"/>
<input type="button" value="显示" onclick="ceshi1()"/>
<input type="button" value="下一页" onclick="ceshi2()"/>
<input type="button" value="上一页" onclick="ceshi3()"/>
</body>
=========================================
function findObj(theObj, theDoc)
{
var p, i, foundObj;
if(!theDoc) theDoc = document;
if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
{
theDoc = parent.frames[theObj.substring(p+1)].document; theObj =
theObj.substring(0,p); } if(!(foundObj = theDoc[theObj]) &&
theDoc.all) foundObj = theDoc.all[theObj]; for (i=0; !foundObj
&& i < theDoc.forms.length; i++) foundObj =
theDoc.forms[i][theObj]; for(i=0; !foundObj && theDoc.layers
&& i < theDoc.layers.length; i++) foundObj =
findObj(theObj,theDoc.layers[i].document); if(!foundObj &&
document.getElementById) foundObj = document.getElementById(theObj);
return foundObj;
}
//添加一个参与人填写行
function AddSignRow(){ //读取最后一行的行号,存放在txtTRLastIndex文本框中
var txtTRLastIndex = findObj("txtTRLastIndex",document);
var rowID = parseInt(txtTRLastIndex.value);
var signFrame = findObj("SignFrame",document);
//添加行
var newTR = signFrame.insertRow(signFrame.rows.length);
newTR.id = "SignItem" + rowID;
//添加列:序号
var newNameTD=newTR.insertCell(0);
//添加列内容
newNameTD.innerHTML = newTR.rowIndex.toString();
//添加列:姓名
var newNameTD=newTR.insertCell(1);
//添加列内容
newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' size='12' />";
//添加列:电子邮箱
var newEmailTD=newTR.insertCell(2);
//添加列内容
newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' size='20' />";
//添加列:电话
var newTelTD=newTR.insertCell(3);
//添加列内容
newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' size='10' />";
//添加列:手机
var newMobileTD=newTR.insertCell(4);
//添加列内容
newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' size='12' />";
//添加列:公司名
var newCompanyTD=newTR.insertCell(5);
//添加列内容
newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' size='20' />";
//添加列:删除按钮
var newDeleteTD=newTR.insertCell(6);
//添加列内容
newDeleteTD.innerHTML
= "<div align='center' style='width:40px'><a
href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID +
"')\">删除</a></div>";
//将行号推进下一行
txtTRLastIndex.value = (rowID + 1).toString() ;
}
//删除指定行
function DeleteSignRow(rowid){
var signFrame = findObj("SignFrame",document);
var signItem = findObj(rowid,document);
//获取将要删除的行的Index
var rowIndex = signItem.rowIndex;
//删除指定Index的行
signFrame.deleteRow(rowIndex);
//重新排列序号,如果没有序号,这一步省略
for(i=rowIndex;i<signFrame.rows.length;i++){
signFrame.rows[i].cells[0].innerHTML = i.toString();
}
}//清空列表
function ClearAllSign(){
if(confirm('确定要清空所有参与人吗?')){
var signFrame = findObj("SignFrame",document);
var rowscount = signFrame.rows.length;
//循环删除行,从最后一行往前删除
for(i=rowscount - 1;i > 0; i--){
signFrame.deleteRow(i);
}
//重置最后行号为1
var txtTRLastIndex = findObj("txtTRLastIndex",document);
txtTRLastIndex.value = "1";
//预添加一行
AddSignRow();
}
}
</script>
</HEAD>
<BODY>
<div>
<table width="613" border="0" cellpadding="2" cellspacing="1" id="SignFrame">
<tr id="trHeader">
<td width="27" bgcolor="#96E0E2">序号</td>
<td width="64" bgcolor="#96E0E2">用户姓名</td>
<td width="98" bgcolor="#96E0E2">电子邮箱</td>
<td width="92" bgcolor="#96E0E2">固定电话</td>
<td width="86" bgcolor="#96E0E2">移动手机</td>
<td width="153" bgcolor="#96E0E2">公司名称</td>
<td width="57" align="center" bgcolor="#96E0E2"> </td>
</tr>
</table>
</div>
<div>
<input type="button" name="Submit" value="添加参与人" onclick="AddSignRow()" />
<input type="button" name="Submit2" value="清空" onclick="ClearAllSign()" />
<input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1" />
</div>
</BODY>
</HTML>
============js操作html的table,包括添加行,添加列,删除行,删除列,合并单元格(未实现=======
var tabObj = document.getElementByIdx_x("printtable");
newRow.insertCell(g).innerHTML="头部";
//tabObj.rows[0].cells[g].colsSpan =2;
//tabObj.rows[0].cells[g].rowsSpan =2;
tabObj.rows[1].cells[g].style.background="#CCCCCC";
tabObj.rows[0].cells[g].style.background="#CCCCCC";
//tabObj.rows[0].cells[g].rowSpan=2
tabObj.rows[0].cells[2].colSpan =2;
tabObj.rows[0].cells[2].innerHTML="反映形式";
tabObj.rows[0].cells[3].colSpan =2;
tabObj.rows[0].cells[3].innerHTML="待处理业务数";
tabObj.rows[0].cells[4].colSpan =1;
tabObj.rows[0].cells[4].innerHTML="反映形式";
tabObj.rows[0].cells[5].colSpan=1;
tabObj.rows[0].cells[5].innerHTML="反映形式";
tabObj.rows[0].cells[6].colSpan=7;
tabObj.rows[0].cells[6].innerHTML="";
tabObj.rows[0].cells[7].style.display = "none";
记
得以前面试的时候遇到过这样一个问题:有一个表格,然后有4个输入框,一个合并
按钮,输入框是这样的,从第几行到第几行,从第几列到第几列,然后点击按钮,合并
。当时我从学校出来,js知识只是知道一些,根本做不到!现在想想,其实这个问题也还是考基础功夫是否扎实!大家有兴趣可以自己做做看,测下自己是不是能
够做出来。题目的截图:
第1/1列 第1/2列 第1/3列 第1/4列 第1/5列
第2/1列 第2/2列 第2/3列 第2/4列 第2/5列
第3/1列 第3/2列 第3/3列 第3/4列 第3/5列
第4/1列 第4/2列 第4/3列 第4/4列 第4/5列
第5/1列 第5/2列 第5/3列 第5/4列 第5/5列
第6/1列 第6/2列 第6/3列 第6/4列 第6/5列
第7/1列 第7/2列 第7/3列 第7/4列 第7/5列
第8/1列 第8/2列 第8/3列 第8/4列 第8/5列
第9/1列 第9/2列 第9/3列 第9/4列 第9/5列
从第 行到 行
从第 列到 列
现在做这个问题,看起来简单,但我还是花了很长时间,可能是我的思路不对吧?主要就是用js来操作html,我现在实现了添加行,删除行,添加列,删除列
,但合并单元格却不能完整的实现 ,主要是表格会乱掉
。现在把这个问题发出来,有兴趣的同仁可以自己在有空的时候研究下,看自己能不能做出来!主要是合并单元格的问题!也可以帮我看看合并单元格的问题。
我自己实现的部分代码:
html部分 写道
<body onLoad="init();">
<table id="table" align="center">
<tbody id="newbody"></tbody>
</table>
<div>
<table width="800px" border="1px" align="center">
<tr><td align="center"><input type="button" id="addRow"
name="addRow" onClick="addRow();" value="添加行"/></td>
<td align="center"><input type="button" id="delRow"
name="delRow" onClick="removeRow();" value="删除行"/></td>
</tr>
<tr><td align="center"><input type="button"
id="delCell" name="delCell" onClick="removeCell();"
value="删除列"/></td>
<td
align="center"><input type="button" id="addCell" name="addCell"
onClick=" addCell();" value="添加列"/></td>
</tr>
<tr><td
align="center" colspan="2"><input type="button"
id="addRows" name="addRows" onClick="addRow_withInsert();"
value="添加行"/></td></tr>
</table>
</div>
<div>
<table width="800px" border="1px" align="center">
<tr><td>从第<input type="text" id="beginRow"
name="beginRow" value=""/> 行到 <input type="text" name="endRow"
id="endRow" value=""/> 行</td><td rowspan="2"
id="test"><input type="button" name="hebing" id="hebing"
value="合并" onClick="rebulid();"/> </td></tr>
<tr><td>从第<input type="text" name="beginCol"
id="beginCol" value=""/> 列到<input type="text" name="endCol"
id="endCol" value=""/> 列</td></tr>
</table>
</div>
</body>
生成表格,采用appendChild 写道
function init(){
_table=document.getElementById ("table");
_table.border="1px";
_table.width="800px";
for(var i=1;i<10;i++){
var row=document.createElement ("tr");
row.id=i;
for(var j=1;j<6;j++){
var cell=document.createElement ("td");
cell.id =i+"/"+j;
cell.appendChild(document.createTextNode ("第"+cell.id+"列"));
row.appendChild (cell);
}
document.getElementById("newbody").appendChild (row);
}
}
添加行,使用appendChild方法 写道
function addRow(){
var length=document.getElementById("table").rows.length;
/*document.getElementById("newbody").insertRow(length);
document.getElementById(length+1).setAttribute("id",length+2);*/
var tr=document.createElement("tr");
tr.id=length+1;
var td=document.createElement("td");
for(i=1;i<4;i++){
td.id=tr.id+"/"+i;
td.appendChild(document.createTextNode("第"+td.id+"列"));
tr.appendChild(td);
}
document.getElementById("newbody").appendChild (tr);
}
添加行的另一种方法insertRow 写道
function addRow_withInsert(){
varrow=document.getElementById("table").insertRow( document.getElementById("table").rows.length);
var rowCount =document.getElementById("table").rows.length;
var countCell=document.getElementById("table").rows.item(0).cells.length;
for(var i=0;i<countCell;i++){
var cell=row.insertCell(i);
cell.innerHTML="新"+(rowCount)+"/"+(i+1)+"列";
cell.id=(rowCount)+"/"+(i+1);
}
}
删除行,采用deleteRow(row Index) 写道
/*删除行,采用deleteRow(row Index)*/
function removeRow(){
/* var row=document.getElementById("2");
var index=row.rowIndex;
alert(index);*/
document.getElementById("newbody").deleteRow(document.getElementById(document.getElementById("table").rows.length).rowIndex);
}
添加列,采用insertCell(列位置)方法 写道
function addCell(){
/*document.getElementById("table").rows.item(0).cells.length
用来获得表格的列数
*/
for(var i=0;i<document.getElementById("table").rows.length;i++){
var cell=document.getElementById("table").rows[i].insertCell(2);
cell.innerHTML="第"+(i+1)+"/"+3+"列";
}
}
删除列,采用deleteCell(列位置)的方法 写道
/*删除列,采用deleteCell(列位置)的方法*/
function removeCell(){
for(var i=0;i<document.getElementById("table").rows.length;i++){
document.getElementById("table").rows[i].deleteCell(0);
}
}
合并单元格(未实现) 写道
我的代码有问题,主要是表格会乱掉,一直没有改好 :
function rebulid(){
var beginRow=document.getElementById("beginRow").value;/*开始行*/
var endRow=document.getElementById("endRow").value;/*结束行*/
var beginCol=document.getElementById("beginCol").value;/*开始列*/
var endCol=document.getElementById("endCol").value;/*结束列*/
var tempCol=beginRow+"/"+beginCol;/*定位要改变属性的列*/
alert(tempCol);
var td=document.getElementById(tempCol);
/*删除要合并的单元格*/
for(var x=beginRow;x<=endRow;x++){
for(var i=beginCol;i<=endCol;i++){
if(x==beginRow){
document.getElementById("table").rows[x].deleteCell(i+1);
}
else{
document.getElementById("table").rows[x].deleteCell(i);
}
}
}
td.rowSpan=(endRow-beginRow)+1;
}
=========================
动态table添加colspan/rowspan 参数的方法(通过Js) .
分类: javascript CSS 2009-07-25 01:27 1160人阅读 评论(0) 收藏 举报
table
问题:动态的给某个表对象添加列属性和行属性,采用obj.setAttribute("rowspan",n)(即rowspan=n)不能生效。
解
决方法:取得表对象,并取得他下面对应的行对象下的某个元素,这里如document.tableId.rows[i].cells[j]即取得表下第i
行下的第j个元素,然后document.tableId.rows[i].cells[j].colspan=n即可。
eg:
dempTHFirst为要增加行或列属性的元素。
demoThFirst.colSpan=3;
js在table指定tr行上或底下添加tr行的更多相关文章
-
js合并table指定列
function MergeTableCell(tableId, startRow, endRow, col) { var tb = document.getElementById(tableId); ...
-
js 表格插入指定行
js在table指定tr行上或下面添加tr行 function onAddTR(trIndex) { var tb = document.getElementB ...
-
JS实战 &#183; 表格行颜色间隔显示,并在鼠标指定行上高亮显示
思路: 1.获取所有行对象,将需要间隔颜色显示的行对象进行动态的className属性指定: 前提是:先定义好类选择器,就是说给行对象赋予name. 2.高亮用到两个事件:onmouseov ...
-
js&;jquery获取指定table指定行里面的内容
js&jquery获取指定table指定行里面的内容 CreateTime--2018年5月18日11:46:04 Author:Marydon 1.展示 代码展示 <table s ...
-
[Js/Jquery]table行转列
摘要 在使用ews调用exhange的收件箱的并在h5页面显示邮件详情的时候,因为返回的每封邮件的内容都是htmlbody,没有textbody.每封邮件又没什么规律,用正则表达式来匹配内容并不合适, ...
-
14.9.2 Specifying the Row Format for a Table 指定 表的行格式
14.9.2 Specifying the Row Format for a Table 指定 表的行格式 mysql> SHOW TABLE STATUS\G; *************** ...
-
Js 合并 table 行 的实现方法
Js 合并 table 行 的实现方法 需求如下: 某公司的员工档案,如下, 经理看员工的信息不是很清晰: 姓名 所在学校 毕业时间 张三 小学 2000 张三 中学 2006 张三 大学 2010 ...
-
【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数
一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...
-
html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
先上代码 <script type="text/javascript" language="javascript"> var idTmr; ...
随机推荐
-
navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法
配置了mycat,用navicat连接8066端口,点击“查询”的时候发现出现报错: 开始以为是mycat的配置有问题,找了好久都没发现错误.根据提示信息进入到相应的目录发现每个连接其实就是一个win ...
-
HighCharts 详细使用及API文档说明
一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每个部分,比如配置标题(title),副标题(subtitle)等,其中每个部分又有更细的参数配置,比如标题下 ...
-
EMVTag系列15《选择应用响应数据》
1. 接触交易选择应用响应数据 标签 长度 数据域 9102 A5 变长 FCI专用模板 强制 50 1–16 应用标签 纯电子现金:PBOC DEBIT 借记卡:PBOC DEBIT 贷记卡:PBO ...
-
解高次同余方程 (A^x=B(mod C),0<;=x<;C)Baby Step Giant Step算法
先给出我所参考的两个链接: http://hi.baidu.com/aekdycoin/item/236937318413c680c2cf29d4 (AC神,数论帝 扩展Baby Step Gian ...
-
swift基本数据类型的使用
// // ViewController.swift // 基本数据类型 // // Created by 叶炯 on 16/9/8. // Copyright © 2016年 叶炯. All rig ...
-
clrscr( )用法
函数名: clrscr 功 能: 清除文本模式窗口,清屏的意思,即把之前显示出的文字字符去掉,是clear screen的简写 用 法: void clrscr(void); 程序例: #incl ...
-
前端开发福音!阿里Weex跨平台移动开发工具开源-b
阿里巴巴今天在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请.Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS.安卓.YunOS及 ...
-
Java线程的相关方法
~ start() 启动线程方法 ~ run() 调用start()方法时,真正执行的就是该方法的方法体 ~ sleep() 让当前线程睡眠,睡眠到期自动苏醒,并进入可运行状态,而不是运行状态 ...
-
[SDOI 2015]序列统计
Description 题库链接 给出集合 \(S\) ,元素都是小于 \(M\) 的非负整数.问能够生成出多少个长度为 \(N\) 的数列 \(A\) ,数列中的每个数都属于集合 \(S\) ,并且 ...
-
Android中JNI编程详解
前几天在参加腾讯模拟考的时候,腾讯出了一道关于JNI的题,具体如下: JNI本身是一个非常复杂的知识,但是其实对于腾讯的这道题而言,如果你懂JNI,那么你可能会觉得这道题非常简单,就相当于C语言中的h ...