- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
目前我们使用 prototype 和 jQuery 作为我们的 js 框架。现在,jQuery 设置为 $j() 以防止原型(prototype)冲突。
过去,我们大量使用原型(prototype)的 Element.down()、Element.next() 和 Element.previous() 来遍历 DOM。但是,我需要一种简单的方法来检索最后一个子元素。我知道我可以使用 Element.childElements() 遍历一个数组,但我想要一些内联的东西,它可以清晰地读取并且可以进行流水线处理。
只是想在重新发明轮子之前先问一下。下面是一段代码,其中包含需要替换的 lastChild:
_find : function(rows, address) {
var obj = null;
for (var i=0; i < rows.length && obj == null; i++) {
if (rows[i].down().className == 'b')
obj = this._find(rows[i].lastChild.down().down().childElements(), address);
else if (rows[i].lastChild.getAttribute('tabAddress') == address)
return rows[i].lastChild;
}
return obj;
}
最佳答案
伙计们,请注意选择器函数返回元素数组(而不是单个元素),因此您必须按索引 [0] 添加结果数组中的元素。
原型(prototype)中的代码
//if you only have the id of the parent
var lastChild = $$("#parent :last-child")[0];
//or
//if you have the actual DOM element
var lastChild = $(element).select(":last-child")[0];
Jquery 中的代码
//if you only have the id of the parent
var lastChild = $("#parent :last-child")[0];
//or
//if you have the actual DOM element
var lastChild = $(":last-child", element)[0];
普通 javascript 代码
var element = document.getElementById("parent");
var lastChild = element.childNodes[element.childNodes.length - 1];
另请注意,如果父元素没有子节点,这些可以返回 null。
关于javascript - 使用 Prototype 或 jQuery 实现 .lastChild 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/227312/
对于这么长的问题,我深表歉意,但我已经尝试了很多方法并做了一些研究,但还没有找到很多解决方案。我有一个内容可编辑的 div。 当用户在这个 div 中输入内容时,showResult javas
仅当 class =“dp_add_section”时才尝试删除元素的最后一个子元素,否则,我不想删除最后一个子元素。 如何在 jQuery 中执行此操作?这是我到目前为止得到的,但它只删除了下一个元
我有以下代码: 我的 JavaScript 代码是: $(document).ready(function(){
当我在现有段落前后的文本字段中添加文本时,删除按钮功能完美。但是,如果我在添加元素之前单击删除按钮,您必须单击两次才能删除不是由函数创建的段落。 这里可能有什么问题?我在添加和删除时在 Firebug
我有以下一段 Javascript: //Clear out container var container = document.getElementById("buy"); while (cont
x=document.getElementByTagName("p"); document.write(x.lastChi
我有一个排列脚本,可以在视觉上上下移动元素(例如 li 和 tr 等元素),但是当元素已经是第一个时,我需要将其制作出来而是出现在底部。我尝试使用正确的元素引用来 appendChild ,但收到错误
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我正在尝试获取给定元素的第一个和最后一个节点。 document.getElementById('test').firstChild document.getElementById('test').l
我在 firefox 中出现了一个奇怪的问题(没有测试 ie 等,但仍然需要它在 firefox 中工作)。我正在使用 ajax 使用包含从数据库返回的信息的 div 填充父 div。服务器端是带有
我当前的代码完美运行: CSS: #center { background:#781111; color:#fff; position:absolute; left:5
我有一个链接列表,我正在使用以下代码在每个链接项后添加一个词: a:after {content: "eg"} 但是,我不希望内容出现在列表中的最后一项之后,所以理想情况下我想说类似的话 a:last
我想知道,为什么在这种情况下“firstChild”和“lastChild”不起作用,但是当我通过数组中 li 的位置执行此操作时,一切正常。 这是我的 HTML: Ite
Face Matching Game Matching Game Click on the EXTRA face on the left side div { position: absolu
对于 chrome、firefox 和 safari,以下代码似乎可以工作并且能够检索表中最后一个 tr 的 ID。 var table = document.getElementById( tabl
Face Matching Game Matching Game Click on the EXTRA face on the left side div { position: absolu
我无法删除这个错误: mypage.php:53 Uncaught TypeError: Cannot read property 'lastChild' of null 这是由这段代码生成的: va
我有这个 xml:
如何删除动态生成的 div 的 lastchild 并将 html 重新生成为字符串。示例 HTML DIV strHtmlString = "Test1 One T
HTML: A B C D E F G CSS: :host/deep/.title-main { display:
我是一名优秀的程序员,十分优秀!