黑马程序员技术交流社区
标题:
哈尔滨校区--技术交流帖--Dom元素的获取
[打印本页]
作者:
屈璐璐
时间:
2016-1-24 13:19
标题:
哈尔滨校区--技术交流帖--Dom元素的获取
document.getElementById();如果有许多个要获取的元素节点,就在sanfu.js里面写一个方法,以后只要调用这个方法就可以获取到元素节点。
源代码:
// 定义一个对象
/**
@param: selector , 通过不同的选择器,进行元素的获取
可以输入的值: id, class, tagName, ......
判断开头的字母
#: id ,获取id
.: xxxx
*/
var $ = function(selector){
//得到开头
// 字符串没有一个方法 , 以。。。开头
// 方法 一
// if(selector.substring(0,1) == "#"){
// var caption = "#";
// selector = selector.substring(1);
// }
// 判断 字符串以xxx开头
if(!selector.indexOf("#")){
var caption = "#";
selector = selector.substring(1);
}
// var caption =
switch(caption){
case "#": return document.getElementById(selector);
}
};
// 函数的作用: 把重复,进行封装
$.each = function(strArray,fn){
for(var i=0;i<strArray.length;i++){
/*
(function(i,perValue){
//......
})(i,strArray[i]);
*/
fn(i,strArray[i]);
}
};
// 创建一个新的方法 ,完成 ,文本节点的过滤
// @param parentNode: 父节点 , 节点数组,需要把里面文本节点去掉
// @result: 返回,需要的元素节点
$.children = function(parentNode){
var resultArray = [];
var list = parentNode.childNodes;
//
$.each(list,function(i,perValue){
if(perValue.nodeType != 3){
resultArray.push(perValue);
}
});
return resultArray;
};
//返回文本内容
// 解决 各家浏览器的不同
$.innerText = function(domObj){
// 或运算
return domObj.innerText || domObj.textContent;
};
// 自定义一个窗口居中操作
// @param url: 要打开的url
// @param width: 要打开的新窗口的宽度
// @param height: 要打开的新窗口的高度
$.centerWin = function(url,width,height){
// var features = "width="+width+",height="+height;
var featuresArray = [];
featuresArray.push("width="+width);
featuresArray.push("height="+height);
var top = (window.screen.height-height)/2;
var left = (window.screen.width-width)/2;
featuresArray.push("top="+top);
featuresArray.push("left="+left);
// 把数组 变成 字符串
// 使用 逗号分隔
var features = featuresArray.toString();
window.open(url,'',features);
};
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2