Tag: dom traversal

jquery – 查找元素是否在变量中

我试图找出如何从AJAX请求返回错误。 用于测试请求总是返回 test 我以为你可以这样做: //html is the var which contains the result var DOM = $(html); if( $(‘#error’, DOM ).length != 0 ) { alert(html); } 但这不起作用。 任何人都可以发现什么是错误的吗?

使用document.getElementsByTagName迭代dom元素,将元素作为jquery对象传递

我需要的是在某个start元素处迭代dom,然后遍历start元素下面的所有元素。 这是我到目前为止所做的。 function iterDomFromStartElem = function(startElem, callBackFunc) { if (startElem !== null) { var items = startElem.getElementsByTagName(“*”); for (var i = 0; i < items.length; i++) { callBackFunc(items[i]); } } } 我需要从一些start元素迭代dom的原因是因为我们的团队最近收到了实现字体大小调整的请求; 但是,我们使用像素在很多不同的地方静态开发了font-size字段。 我意识到更简单的方法是重构现有代码,在页面根目录设置静态字体大小,并在其他地方使用em / percentages,这样如果业务所有者想要对页面进行resize控制,我们所要做的就是在一个地方增加字体大小。 这个重构需要很多小时,而且我使用最少的工时来完成这项任务。 那么,我有一个像这样定义的回调, function resizeFont(startElem, scale) { iterDomFromStartElem(startElem, function(node) { // get current size of node, apply scale, increase font […]

动态添加和删除表行

我用jQuery添加和删除表行。 我可以轻松添加行,但是在删除已创建的行时遇到问题。 您可以在此处查看该页面: http : //freshbaby.com/v20/wic/request_quote.cfm ,其中粘贴了相关代码。 HTML Products Language Quantity English Spanish Add Another Product JavaScript的: $(function() { var i = 1; $(“.addrow”).click(function() { $(“table#product-list tbody > tr:first”).clone().find(“input”).each(function() { $(this).attr({ ‘id’: function(_, id) { return id + i }, ‘value’: ” }); }).end().find(“a.addrow”).removeClass(‘addrow’).addClass(‘removerow’).text(‘< Remove This Product') .end().appendTo("table#product-list tbody"); i++; return false; }); $("a.removerow").click(function() { […]

如何在jQuery中编写一个简单的预订DOM树遍历算法?

我想把这里找到的代码: http : //www.jslab.dk/articles/non.recursive.preorder.traversal.part2 // HTML element var root = document.documentElement; recursivePreorder(root); // Recusively find and handle all text nodes function recursivePreorder(node) { // If node is a text node if (node.type == 3) { // Do something with node } // else recurse for each child node else { for(var i=0; i<node.childNodes.length; i++) recursivePreorder(node.childNodes[i]); […]

从缓存的选择器遍历DOM比在DOM中查找ID’d元素更快吗?

关于通过类或id或其他选择器查找元素是否更快,存在很多问题。 我对此不感兴趣。 我想知道你是否有: var link = $(this); //let’s say you’re in a click handler 通过这样做找到容器是否更快 var container = link.closest(‘.container’); //assume container is .container 要么 var container = $(‘#mycontainer’); //assume same element as above 我问这个问题不仅仅是针对上面的特定场景(好吧,是的,对于这种场景也是如此),而是针对缓存遍历与创建具有ID的新jQuery对象。 我注意到在我的很多代码中我倾向于使用前一种方法(因为它可以使它更具动态性),但我总是很好奇,如果以后一种方式做得更快。 谢谢

选择除一个之外的所有div

not me 我们如何编写一个选择器来选择all divs with class b除了哪个孩子是 not me ?

用jQuery删除3个最后一个div

1 2 3 4 5 6 7 如何删除最后3个div? 我试过这个,但它不起作用:/ var row = $( ‘#widgetAreaFooter>.row’ ); var nbr = row.length ; for ( var i=4;i<nbr;i++ ) row.get(i).remove(); or for ( var i=4;i<nbr;i++ ) row[i].remove();

如何找到具有“type”属性特定值的元素?

假设随机HTML文档中包含以下脚本标记: //random JavaScript code function foo(){ alert(“foo”); } foo(); 任何人都可以解释为什么下面的表达式没有为其type属性找到带有值store的script所有元素。 var sel = $(‘#target script[type=”store”]’); jQuery版本:v1.7.2 Chrome版本:25.0.1364.172(在Debian Squeeze上运行)

.closest()和.parents(’selector’)之间有什么区别?

这些有什么区别? 一个比另一个更有效吗? 我有点困惑他们为什么都存在。 说我有这个标记: … Toggle … Toggle .. Toggle 从标签我可以使用$(this).closest(‘tr’); 或$(this).parents(‘tr’); 访问父/最近的 标签。

如何在不使用javascript更改表行的情况下,使用表row2的表单值交换表row1的表单值?

我试图将row1中的表单值与row2的表单值交换而不交换行。 有人可以告诉我在纯Javascript,vanilla JS或jQuery中实现这一点。 我只用两行使表行更短,但实际表包含17行。 请仔细查看第三个示例中的ID和表单值。 如果未单击“向上”或“向下”按钮,则表格将以简单forms显示: UP DOWN 这是当前的代码 – 当单击UP或DOWN按钮时,表格如下所示: UP DOWN 这是我想要完成的 – 输入的值应该交换除了tr。 注意tr trids保持不变但表格值被交换: 有没有办法在纯javascript,vanilla JS或jquery中实现这一点。 如果可以用.html()而不是.val()来完成它甚至会更好 DOWN UP