必威体育下载克里斯蒂安·海尔曼

您当前正在浏览library类别的存档。必威体育简介

“图书馆”类别的存档

缺失的本地DOM方法-根据我的课程参与者

周四,7月31日,2008

在这门课程中,我目前正在桑尼维尔的基础上DOM我问参加者,在本地似乎缺少哪些方法。DOM这是我们的想法:

  • 创建(url文本)-一个快捷方式的方法,以创建一个链接与文本节点内-这是你经常要做的,当创建接口
  • insertAfter(newNode oldNode)-有一个插入之前,但是没有insertAfter
  • removeNode(节点)——本机removeChild是复杂的
  • textElement(elementName、文本)-似乎没有必要创建一个元素,然后创建一个文本节点并应用它,这可能是第一步
  • addScript(url)–懒惰地加载javascripts
  • normalizenode(节点)–消除干扰nextSiblingpreviousSibling
  • 获取文本(节点)-检索文本节点或元素节点的文本内容
  • setText(节点,文本)-无论节点类型如何设置文本

我要求与会者每人想出一个方法并展示给他们,这是我们得到的:


jukuhelpers = function(){
函数创建(url、文本、cssClass){
var link=document.createElement('a');
if (typeof url = 'string'){
link.setattribute('href',URL);
}

if (typeof text = ' string'){
link.appendChild(document.createTextNode(text));
}

if (typeof cssClass = 'string'){
link.classname=cssclass;
}

返回链接;
}

函数insertAfter(newNode oldNode){
oldNode.nextSibling
吗?oldNode.parentNode.insertBefore(newNodeoldNode.nextSibling)
:oldNode.parentNode.appendChild(newNode);
}

函数removeNode(节点){
如果(节点){
node.parentNode.removeChild(节点);
}

}
函数textElement(elementName、文本){
if (typeof text = ' string'){
var txtElement = document.createElement(elementName);
var txtNode = document.createTextNode(text);
txtElement.appendChild(txtNode);
}

返回txtElement;
}

函数addScript(url){
var s = document.createElement(' script');
s.setAttribute('类型',' text / javascript ');
s.setAttribute(“src”,URL);
var head = document.getElementsByTagName(' head')[0];
头。附属物;
}

函数getText(节点){
var txt;
if(node和node.nodeType=1){
如果(node.hasChildNodes()){
txt = node.firstChild.nodeValue;
}

}
if(node和node.nodeType=3){
txt=node.nodeValue;
}

返回三种;
}

函数setText(节点、文本){
if(node和node.nodeType=1){
如果(node.hasChildNodes()){
node.firstchild.nodeValue=文本;
}

其他{
node.appendChild(document.createTextNode(text));
}

}
if(node和node.nodeType=3){
node.nodeValue=文本;
}

}
函数normalizeNode(节点){
如果(node.hasChildNodes){
var spaceTest = / s ^ + $ /;
var children = node.childNodes;
(var = 0;孩子(我),我+ +){
if(children[i].nodeType==3){
如果(spaceTest.test(孩子[我].nodeValue)){
[我].parentNode.removeChild儿童(儿童[我]);
}

}
}

}
}

返回{
创建:创建,
insertAfter:insertAfter,
removeNode:removeNode,
textElement:textElement,
addScript:addScript,
getText:getText,
setText:setText,
normalizeNode:normalizeNode
}

}();

你可以得到jukuhelpers.js如果您想自己使用它,请归档。

还有什么遗漏或者有什么问题吗?

YUI 2.4.0是- CSS选择引擎,JSON支持动态CSS/脚本getter等等

周三,12月5日,二千零七

看到你的反馈被用在这么大的项目上,真是太酷了YUI。在每个版本中,团队都擅长构建新组件,但也擅长修复和更改现有组件。

我的部分工作是测试YUI对于欧洲市场(我们默认使用5种语言开发,遇到的问题完全不同)和亚洲市场(哦,我很高兴地说,我们发现的所有问题都得到了解决,我们的一些建议在这个版本中得到了实现。

在2.4.0版本中,您还可以看到一些新的组件:

  • 可能最令人期待的步骤是YUI获得jQuery样式CSS选择器引擎它允许您快速访问文档,而不必使用本机函数遍历DOM。
  • 对于那些需要大量使用数字数据的人来说,这个YUI现在有一个Flash图表组件这让你可以很容易地制作精美的馅饼和图表
  • 获得实用程序不一样吗雅虎.Dom.Get(),但允许加载脚本和CSS通过创建新节点并对加载的内容进行控制,可以根据需要在呈现页面之后进行呈现。在页面性能方面,这是非常方便的,在过去,我对它进行了大量的抒情。
  • 那些喜欢将您的脚本带到车库并进行深入测试的人将会喜欢这个新脚本剖面仪浏览器环境中的哪些配置文件JS
  • 最后但并非最不重要的,我们终于宣布我们的永恒的爱JSON通过添加一个新的JSON组件这允许您进行字符串化和验证JSON可以使用动态脚本节点检索,也可以使用动态脚本节点检索阿贾克斯

再一次,在引擎盖下,有很多你看不到的变化,但却能带来更好的性能,特别是在拖放和富文本编辑器控件中。