Js 中操作 Select 元素
1.增加项
var objSelect = document.getElementById('ID');
objSelect.options[objSelect.length] = new Option('Key', 'Value');
2.删除被选中的项
objSelect.options[objSelect.selectedIndex] = null;
3.修改被选中的项
objSelect.options[objSelect.selectedIndex] = new Option('Key', 'Value');
4.获取被选中的项的文本
objSelect.options[objSelect.selectedIndex].text;
5.获取被选中的项的值
objSelect.options[objSelect.selectedIndex].value;
6.设置选中的项
objSelect.value = value;
设置节点属性
用 setAttribute 方法,是 Element 对象的提供的方法。
Element 对象也是一种节点,因此它继承 Node 对象的属性和方法。
var obj = document.getElementById('A');
obj.setAttribute('target', '_blank');
获取节点属性
var obj = document.getElementById('A');
var value = obj.getAttribute('target');
有A、B两个页面,B页面iframe在A页面中,现在B页面要知道A页面给自己设定了多高。
用 document.documentElement.scrollHeight 获取。
B页面要指定 body { width:100%; height:100%; }
A.htm
<iframe src="B.htm" frameborder="0" height="200"></iframe>
B.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style>
body { width:100%; height:100%; margin:0; padding:0; }
</style>
</head>
<body>
<script language="JavaScript">
alert(document.documentElement.scrollHeight); // 初始设定的高度,就是上面的200
</script>
</body>
</html>
方法一
<script language="JavaScript">
// 页面载入完毕时执行 Init()
window.onload = function()
{
Init();
}
</script>
方法二
<script language="JavaScript">
var IsIE = true; if (navigator.product == 'Gecko') IsIE = false;
// 当页面载入完毕执行 Init()
if (IsIE)
{
document.onreadystatechange = function()
{
if (document.readyState == 'complete') Init();
}
}
else
{
document.addEventListener("DOMContentLoaded", Init, false);
}
</script>
<script language="JavaScript">
var text = prompt('请输入数据:', '默认值');
alert('您输入的是:' + text);
</script>
prompt() 是 window 对象的一个方法,会弹出一个对话框, 让用户输入信息,输入完成后,就返回用户所输入的信息。
<script language="JavaScript">
// 判断日期格式符合YYYY-MM-DD格式
function IsDate(str)
{
var re = /^\d{4}-\d{1,2}-\d{1,2}$/;
if(re.test(str))
{
// 开始日期的逻辑判断,是否为合法的日期
var array = str.split('-');
var date = new Date(array[0], parseInt(array[1], 10) - 1, array[2]);
if(!((date.getFullYear() == parseInt(array[0], 10))
&& ((date.getMonth() + 1) == parseInt(array[1], 10))
&& (date.getDate() == parseInt(array[2], 10))))
{
// 不是有效的日期
return false;
}
return true;
}
// 日期格式错误
return false;
}
var str = '2009-2-30';
if (!IsDate(str))
{
alert('请输入正确的日期,日期格式(YYYY-MM-DD)');
}
</script>
window.opener = null;
window.open('', '_self');
window.close();
这段代码的IE6和IE7中都是有效的,但是Firefox中是无效的。
Firefox默认不支持这个功能,需要设置Firefox浏览器。
设置方法
打开Firefox浏览器,地址栏中输入about:config
找到dom.allow_scripts_to_close_windows项,双击一下就将会其修改为true,再重启Firefox。
<a onclick="Click()">点击这里</a>
<script language="JavaScript">
<!--
function Click()
{
var evt = GetEvent();
alert(evt);
}
// 返回 event 对象
function GetEvent()
{
if(document.all) // IE
{
return window.event;
}
func = GetEvent.caller; // 返回调用本函数的函数
while(func != null)
{
// Firefox 中一个隐含的对象 arguments,第一个参数为 event 对象
var arg0 = func.arguments[0];
alert('参数长度:' + func.arguments.length);
if(arg0)
{
if((arg0.constructor == Event || arg0.constructor == MouseEvent)
||(typeof(arg0) == "object" && arg0.preventDefault && arg0.stopPropagation))
{
return arg0;
}
}
func = func.caller;
}
return null;
}
//-->
</script>
Function 对象的 caller 属性
返回调用本函数的函数。
返回一个函数的引用,该函数调用了当前函数。
IE和FF都支持这个属性。
<script language="JavaScript">
<!--
// 返回一个函数的引用,该函数调用了当前函数。
function ShowCaller()
{
var func = ShowCaller.caller; // 这里被 Test 函数调用
alert(func.toString());
}
function Test()
{
ShowCaller();
}
Test();
//-->
</script>