注意 dom 的 innerHTML会刷新dom,因此里面包含的事件绑定可能无效,须要从新绑定.css
document ready 和 window.onload 区别
window.onload 是全部文件加载完以后执行一个函数.
document.ready(jquery里面才有这个函数,普通js里面没这个函数)是在dom文档树加载完以后执行一个函数, 不表明全部文件都加载完.因此 document.ready 要比 window.onload 先执行.
下面是 document.ready 的方法:html
document.ready = function (callback) { ///兼容FF,Google if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function () { document.removeEventListener('DOMContentLoaded', arguments.callee, false); callback(); }, false) } //兼容IE else if (document.attachEvent) { document.attachEvent('onreadytstatechange', function () { if (document.readyState == "complete") { document.detachEvent("onreadystatechange", arguments.callee); callback(); } }) } else if (document.lastChild == document.body) { callback(); } }
var obj = document.getElementById("testSelect"); //定位id var index = obj.selectedIndex; // 选中索引 var text = obj.options[index].text; // 选中文本 var value = obj.options[index].value; // 选中值
String.prototype.format = function(args) { var result = this; if (arguments.length < 1) { return result; } var data = arguments; //若是模板参数是数组 if (arguments.length == 1 && typeof (args) == "object") { //若是模板参数是对象 data = args; } for (var key in data) { var value = data[key]; if (undefined != value) { result = result.replace("{" + key + "}", value); } } return result; }
使用方法:jquery
//两种调用方式 var template1="我是{0},今年{1}了"; var result1=template1.format("loogn",22); var template2="我是{name},今年{age}了"; var result2=template2.format({name:"loogn",age:22});