<html>
<head>
<meta http-equiv="Content-Type" content="text/html charset=UTF-8">
<title>RunJS 演示代码</title>
<script>
onload=function(){
var cks = document.querySelectorAll("table input[type='checkbox']")
for(var i=0i<cks.lengthi++){
var ck = cks[i]
ck.onclick = function(){
if(this.checked)
alert(this.parentElement.parentElement.children[7].innerHTML)
}
}
}
</script>
</head>
<body>
<table>
<tr>
<td><input type="checkbox" /></td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
</table>
</body>
</html>
【实例名称】选取textarea中的指定行
【实例描述】
使用控件的focus或select方法,可以很方便地选取textarea的所有内容,但却无法实现某行的选取。本例讲解如何选取textarea中的指定行。
【实例代码】
<function getTxtRow(num, mytxt) //获取指定行的方法-第二个参数为文本框ID
{
//获取文本框内当前光标的位置
var range = document.getElementById(mytxt).createTextRange()
var rect = range.getClientRects()//返回一个矩形
var left = rect[0].left
if(num >rect.length - 1 || num <0)
return
if(num == 0) //选择第一行的情况
{
//设置选择范围
var right = rect[0].right
range.moveEnd("character",-range.text.length)
while(range.offsetLeft + range.boundingWidth <right)
{
range.expand("character")
}
return range
}
else
{
//设置选择范围
var right = rect[num].right
var range = getTxtRow(num - 1, mytxt)
range.moveStart("character",range.text.length + 1)
while((range.offsetLeft + range.boundingWidth) <right)
{
range.expand("character")
}
if(range.offsetLeft >left)
range.moveStart("character",-1)
return range
}
}
//选择指定行数的方法
function getText(num)
{
var range = getTxtRow(num,"txt")//调用真正的获取行方法
if(range != null)//如果指定的行内容不为空
{
alert(range.text)
range.select() //选择指定的行
}
}
</SCRIPT>