??xml version="1.0" encoding="utf-8" standalone="yes"?> 文章介:获取select被选中的文本Qselect下拉框的W二个元素ؓ当前选中|radio单选组的第二个元素为当前选中|获取|文本框,文本区域Q?("#txt").attr("value")Q多选框checkboxQ?("#checkbox_id").attr("value")Q单选组radioQ?$("input[@type=radio][@checked]").val();下拉框selectQ?$('#sel').val(); …? var item = $('input[@name=items][@checked]').val();
var item = $("select[@name=items] option[@selected]").text();
$('#select_id')[0].selectedIndex = 1;
$('input[@name=items]').get(1).checked = true;
文本框,文本区域Q?("#txt").attr("value")Q?/p>
多选框checkboxQ?("#checkbox_id").attr("value")Q?/p>
单选组radioQ?$("input[@type=radio][@checked]").val(); 下拉框selectQ?$('#sel').val(); 控制表单元素Q?/p>
文本框,文本区域Q?("#txt").attr("value",'');//清空内容 $("#txt").attr("value",'11');//填充内容
$("#chk2").attr("checked",true);//打勾 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
$("<optionvalue='1'>1111</option><optionvalue='2'>2222</option>").appendTo("#sel")//d
$("#sel").empty()Q?/清空下拉?/p>
var item = $('input[@name=items][@checked]').val();
var item = $("select[@name=items] option[@selected]").text();
$('#select_id')[0].selectedIndex = 1;
$('input[@name=items]').get(1).checked = true;
文本框,文本区域Q?("#txt").attr("value")Q?/p>
文本框,文本区域Q?("#txt").attr("value",'');//清空内容
jquery radio取|checkbox取|select取|radio选中Qcheckbox选中Qselect选中Q及其相?获取一lradio被选中的?/p>
获取select被选中的文本
select下拉框的W二个元素ؓ当前选中?/p>
radio单选组的第二个元素为当前选中?/p>
获取|
多选框checkboxQ?$("#chk1").attr("checked",'');//不打?/p>
单选组radioQ?$("input[@type=radio]").attr("checked",'2');//讄value=2的项目ؓ当前选中?/p>
下拉框selectQ?$("#sel").attr("value",'-sel3');//讄value=-sel3的项目ؓ当前选中?/p>
下拉框的option
获取一lradio被选中的?/p>
获取select被选中的文本
select下拉框的W二个元素ؓ当前选中?/p>
radio单选组的第二个元素为当前选中?/p>
获取|
多选框checkboxQ?("#checkbox_id").attr("value")Q?/p>
单选组radioQ?$("input[@type=radio][@checked]").val();
下拉框selectQ?$('#sel').val();
控制表单元素Q?/p>
$("#txt").attr("value",'11');//填充内容
多选框checkboxQ?$("#chk1").attr("checked",'');//不打?/p>
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
单选组radioQ?$("input[@type=radio]").attr("checked",'2');//讄value=2的项目ؓ当前选中?/p>
下拉框selectQ?$("#sel").attr("value",'-sel3');//讄value=-sel3的项目ؓ当前选中?/p>
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//d下拉框的option
$("#sel").empty()Q?/清空下拉?/p>
]]>
function test(){
var s = "";
s += "\r\n|页可见区域宽:"+ document.body.clientWidth;
s += "\r\n|页可见区域高:"+ document.body.clientHeight;
s += "\r\n|页可见区域宽:"+ document.body.offsetWidth +" (包括边线的宽)";
s += "\r\n|页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)";
s += "\r\n|页正文全文宽:"+ document.body.scrollWidth;
s += "\r\n|页正文全文高:"+ document.body.scrollHeight;
s += "\r\n|页被卷ȝ高:"+ document.body.scrollTop;
s += "\r\n|页被卷ȝ左:"+ document.body.scrollLeft;
s += "\r\n|页正文部分上:"+ window.screenTop;
s += "\r\n|页正文部分左:"+ window.screenLeft;
s += "\r\n屏幕分L率的高:"+ window.screen.height;
s += "\r\n屏幕分L率的宽:"+ window.screen.width;
s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight;
s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth;
alert(s);
}
</SCRIPT>
<A HREF="javascript:test()">点击我查看信?lt;/A>
</body>
]]>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function Human()
{
this.i=3;
}
function test()
{
alert(Human.i+",1");
alert(new Human().i+",2");
alert(ff.test1+",3");
alert(ff.test2+",4");
alert(ff.test3+",5");
}
//用alert(Human.i)居然讉K不到
//?alert(new Human().i)则可?
function f()
{
this.test1=1;
}
f.test2=2;
f.prototype.test3=3;
ff= new f();
//-->
</SCRIPT>
</HEAD>
<BODY>
<script>test()</script>
</BODY>
</HTML>
l果 alert(1,3)取不到?/p>
function changeToEdit(obj)
{
if( !inputItem )
{
inputItem = document.createElement('input');
inputItem.type = 'text';
inputItem.style.width = '100%';
inputItem.style.height = '18px';
inputItem.style.fontSize = '12px';
}
inputItem.style.display = '';
inputItem.value = obj.innerText; // 该单元格的数据文本d控g?br /> obj.innerHTML = ''; // 清空单元格的数据
obj.appendChild(inputItem);
inputItem.focus();
g_activeItem = obj;
}
document.attachEvent('ondblclick',function()
{
if (event.srcElement.tagName.toLowerCase() == "td")
{
if( !inputItem )
{
inputItem = document.createElement('input');
inputItem.type = 'text';
inputItem.style.width = '100%';
inputItem.style.height = '18px';
inputItem.style.fontSize = '12px';
}
changeToText()
changeToEdit(event.srcElement);
} else
{
event.returnValue = false;
return false;
}
});
document.attachEvent('onclick', function()
{
if( event.srcElement.parentNode == g_activeItem || event.srcElement == g_activeItem )
{
return;
} else
{
changeToText(g_activeItem);
}
});
//-->
</script>
<style type="text/css">
<!--
.STYLE1 {font-size: 24px}
-->
</style>
</head>
<body>
<table border="0" width="100%" id="table1">
<tr>
<td colspan="5" align="center" valign="middle"><span class="STYLE1">Test </span></td>
</tr>
<tr>
<td width="130"> </td>
<td width="130"> </td>
<td width="130"> </td>
<td width="130"> </td>
<td width="130"> </td>
</tr>
</table>
</body></html>
function readCookie(name)
{
var cookieValue = "";
var search = name + "=";
if(document.cookie.length > 0)
{
offset = document.cookie.indexOf(search);
if (offset != -1)
{
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
cookieValue = unescape(document.cookie.substring(offset, end))
}
}
return cookieValue;
}
function MyObject(name, size)
{
this.name = name;
this.size = size;
}
之后Q你可以方便的通过 MyObject cȝ prototype 属性来方便的扩充它。比如,你可以给他添加其他的属性和Ҏ?/span>
MyObject.prototype.tellSize = function()
{
return "size of "+this.name+" is "+this.size;
}
MyObject.prototype.color = "red";
MyObject.prototype.tellColor = function()
{
return "color of "+this.name+" is "+this.color;
}
var myobj1 = new MyObject("tiddles", "7.5 meters");
domDiv.innerHTML += myobj1.tellColor()+"<br /><br />";
你可以想象,当你调用 tellColor() Ҏ后,l果是这LQ?/span>
color of tiddles is red
很方便的是, prototype 属性可以动态添加。比如,你需要往 MyObject 中加入一?/span> height 属性,q希望其提供一?/span> tellHeight() Ҏ来获?/span> height 属性的倹{你可以在上面的代码后,l箋d如下的代码:
MyObject.prototype.height = "2.26 meters";
MyObject.prototype.tellHeight = function()
{
return "height of "+this.name+" is "+this.height;
}
之后Q你可以讉K一?/span> myobj1 ?/span> tellHeight() ҎQ你可以得到如下的结果:
height of tiddles is 2.26 meters
prototype 的这些动态的Ҏ看h有些qhQ不q我倒是反而觉得有些凉飕飕的。确实,q些Ҏ给你很大的灉|性,可以l与?/span> runtime 改变cd性和Ҏ的能力。不q,E微发掘一下,会有些不良的习惯产生?/span>
首先Q如果可以动态添加属性和ҎQ那么很Ҏ让h惛_Q当我调用时Q我惌调用的属性或者方法存在不Q这是一个很严肃的问题,如果当我们调用时Ҏ没有该属性或者方法,可能导致我们的脚本 down 掉?/span>
不过也有
if (myobj1.tellHeight)
{
domDiv.innerHTML += myobj1.tellHeight()+"<br /><br />";
}
注意Q一定要?/span> if 语句中,不要加方法后面的那对 () Q否则,直接?/span> down 掉了。有兴趣的读者可以打C下,看看分别讉K myobj1.tellHeight ?/span> myobj1.tellHeight() 时有什么区别?/span>
也许Q你觉得q个是小意思。加个判断嘛Q不好了?
对,但是下面一个问题更令h头痛?/span>
属性和Ҏ在不在的问题单,可是属性和Ҏ变不变化的问题可׃重了。在不在我们可以,变不变呢Q比如,L下面的代码:
function MyObject(name, size)
{
this.name = name;
this.size = size;
}
MyObject.prototype.color = "red";
MyObject.prototype.tellColor = function()
{
return "color of "+this.name+" is "+this.color;
}
var myobj1 = new MyObject("tiddles", "7.5 meters");
domDiv.innerHTML += myobj1.tellColor()+"<br /><br />";
MyObject.prototype.color = "green";
domDiv.innerHTML += myobj1.tellColor()+"<br /><br />";
该代码将产生如下l果Q?/span>
color of tiddles is red
color of tiddles is green
h意,你修改的是类
MyObject
?/span>
color
属性。但是你惊奇的看C之前实例化的对象
myobj1
的属性值竟然也变化了。天Q如果你的项目代码是多h
上面是属性,q有ҎQ?/span>
function MyObject(name, size)
{
this.name = name;
this.size = size;
}
MyObject.prototype.color = "red";
MyObject.prototype.tellColor = function()
{
return "color of "+this.name+" is "+this.color;
}
var myobj1 = new MyObject("tiddles", "7.5 meters");
domDiv.innerHTML += myobj1.tellColor()+"<br /><br />";
MyObject.prototype.color = "green";
MyObject.prototype.tellColor = function()
{
return "your color of "+this.name+" is "+this.color;
}
domDiv.innerHTML += myobj1.tellColor()+"<br /><br />";
q段代码的结果是Q?/span>
color of tiddles is red
your color of tiddles is green
哈?原来Ҏ也能变,汗!
问题来了?/span> Javascript 太灵zȝ~程方式多少让h不适应。如果整?/span> Team 的水q都比较高还可以Q没Z犯这L错误。但是,当有个毛头小伙子不知情,擅自修改c,导致所有的人的对象都发生变化,无论是属性还是方法。在 Javascript 代码变得来多?/span> Ajax 时代Q这是一个严重的问题?/span>
var bIsCatchFlyBar = false;
var dragClickX = 0;
var dragClickY = 0;
var displayway = false;
function show(){
alert("window.event.x:"+window.event.x+"\nwindow.event.y:"+window.event.y+"\nevent.clientX:"+event.clientX+"\nevent.clientY:"+event.clientY+"\nevent.offsetX:"+event.offsetX+"\nevent.offsetY:"+event.offsetY+"\nwindow.event.screenX:"+window.event.screenX+"\nwindow.event.screenY:"+window.event.screenY+"\nscrollleft+x:"+document.body.scrollTop+event.x);
}
function catchFlyBar(e){
var obj = getSelectorObj('test');
var objaaa = getSelectorObj('screenFront');
screenChange(objaaa);
objaaa.style.visibility="visible";
bIsCatchFlyBar = true;
var x=event.x+document.body.scrollLeft;
var y=event.y+document.body.scrollTop;
dragClickX=x-obj.offsetLeft;
dragClickY=y-obj.offsetTop;
obj.setCapture();
document.onmousemove = onmousemove1;
document.onmouseup = onmouseup1;
}
function getSelectorObj(name){
var obj;
if (document.layers){
obj = document.layers[name];
}
else if (document.all){
obj = document.all[name];
}
else if (document.getElementById){
obj = document.getElementById(name);
}
return obj;
}
function onmouseup1(){
var obj = getSelectorObj('test');
var objaaa = getSelectorObj('screenFront');
screenChange(objaaa);
objaaa.style.visibility="hidden";
bIsCatchFlyBar = false;
obj.releaseCapture();
}
function onmousemove1(){
if(bIsCatchFlyBar){
var obj = getSelectorObj('test');
obj.style.left = event.x+document.body.scrollLeft-dragClickX;
obj.style.top = event.y+document.body.scrollTop-dragClickY;
}
}
function screenChange(obj)
{
obj.style.left=0;
obj.style.top=0;
obj.style.height=document.body.scrollHeight;
obj.style.width=document.body.scrollWidth;
}
</script>
<div id="screenFront" style="position:absolute;visibility:hidden;width:100%;height:100%;background: #000000;filter:alpha(opacity=50)"></div><div id="test" style="position:absolute;left:100;top:100">
<table border=1 cellpadding=15 cellspacing=15 >
<tr><td>
<table><tr style="cursor:move" nowrap onMouseDown="catchFlyBar()"><td>Click here to show. </td></tr></table>
</div>
</td></tr>
</table>
Ҏ2Q?/p>
function getAbsPoint(obj)
{
var x,y;
oRect = obj.getBoundingClientRect();
x=oRect.left
y=oRect.top
alert("("+x+","+y+")")
}
JS中获得窗口属性的Ҏ
1。获得屏q的分L率:
screen.width
screen.height
2。获得窗口大:
document.body.clientWidth
document.body.clientHeight
3。获得窗口大(包含Border、Scroll{元素)
document.body.offsetWidth
document.body.offsetHeight