Tag: dom manipulation

之前删除元素的事件

我如何在jQuery中编写一个事件,这样如果我点击任何链接,它将删除不包围它的divouter,但它之前的divouter呢? Link Link Link Link

Jquery replaceWith不工作

使用Jquery 1.7.1 我有两个div {page content here} 那些显示在页面源中。 但是我在页面底部添加的这个jquery不起作用: $(document).ready(function () { $(“div.highlightStart”).replaceWith(“”); $(“div.highlightEnd”).replaceWith(“”); }); 浏览器控制台(Chrome)中没有显示javascript错误。 什么都没有被取代。

如何使用d3.js选择为每个数据元素创建多个相邻节点

使用以下数据: var days = [“Sun”, “Mon”, “Tues”, “Wed”, “Thur”, “Fri”, “Sat”]; 我需要将html结构变为: Sun Mon …. Etc 目前我当前失败的解决方案是: var selection = d3.select(“div”); var enter = selection.selectAll(“input”).data(days).enter() enter.append(“input”) .attr(“type”,”checkbox”) .attr(“id”,function(d,i){ return “day”+i;}) enter.append(“label”) .attr(“for”,function(d,i){ return “day”+i;}) .text(function(d,i){return daysAbbr[i];}) 这给了我一个不正确的dom: …. Etc Sun Mon …. Etc 我将如何创建所有这些相邻的兄弟姐妹?

使用jquery操作类

我有一个值为的选择框:apple-80 apple-100 apple-120 apple-300 我有: 我想操纵body类“apple-120”以替换选择框中的任何选定值,同时保持水果,其他类,另一类,类不变。 到目前为止我创建了这个: $.fn.classSwitcher = function(options) { var baseOptions = { classTarget: ‘body’, oldClass: ‘apple-120’ }; var options = $.extend(baseOptions, options); return this.each(function() { $(this).click(function() { var t = $(this); var optionVal = t.val(); $(options.classTarget).removeClass(options.oldClass).addClass(optionVal); }); }); }; 然后我有: $(‘#sel option’).classSwitcher(); 这取代了类,但是在下一次单击选择框时,会有更多选择值作为新类添加,这不是我想要的。 我只想用新值替换“apple-120”,而不是添加更多值。 任何其他单击将只替换相同的目标类。 另外,我还想获取所有选择框值,以使它们成为缩小这些类选择范围的条件。 说,如果一个类匹配选择框中的任何值,请执行某些操作。 任何提示都将非常感激。 谢谢。

使用jQuery在树的中间插入(g)节点(SVG)

在树的中间插入节点的最佳建议/有效方法是什么。 如何转置这个 … … … … 对此 … … … … @jsFiddle 我试过了 var $parent = $(“g”).attr(“id”,”parent”); var $root = $(“#root”); $root.contents().each(function(){ $child=$(this); $child.remove(); $parent.append($child); }); $root.append($parent); 我也试过在这个答案中使用moveTo方法 (function($){ $.fn.moveTo = function(selector){ return this.each(function(){ var cl = $(this).clone(); $(cl).appendTo(selector); $(this).remove(); }); }; })(jQuery); $root.contents().each(function() { $(this).moveTo($parent); }); 所有这些方法都在简单的场景中工作,但是当树真的很大时,浏览器只是挂起,是否有更有效的方法来执行此操作? 我正在寻找一个jQuery或纯JavaScript的解决方案。

当脚本插入DOM时jQuery .on()没有绑定

我有一个包含自定义jQuery事件处理程序的远程javascript文件。 当它作为元素插入DOM时,不会注册自定义事件处理程序。 但是,如果我添加与直接JS( … )完全相同的脚本,则会注册事件处理程序,并且所有内容都按预期执行。 当脚本作为远程文件插入时,为什么不将事件处理程序绑定在jQuery中? 例 远程文件,包含自定义事件处理程序: console.log(‘Before custom event handler’); $(‘button’).on(‘customEvent’, function(){ console.log(‘customEvent Caught’); }); https://gist.github.com/2767385 将脚本插入DOM的( 非工作 )javascript: var scriptNode = document.createElement(‘script’); scriptNode.src = ‘https://gist.github.com/raw/2767385/b9ddea612ff60b334bd2430e59903174e527a3b5/gistfile1.js’; document.body.appendChild(scriptNode); ( 工作替代 )javascript,它将脚本作为内联插入到DOM中: var scriptText = “console.log(‘Before custom event handler’); $(‘button’).on(‘customEvent’, function(){ console.log(‘customEvent Caught’); });”, scriptNode = document.createElement(‘script’); scriptNode.appendChild(document.createTextNode(scriptText)); document.body.appendChild(scriptNode); 触发事件: $(‘button’).triggerHandler(‘customEvent’); 正确读取JS,并正确执行处理程序。 JSFiddles 远程文件 – […]

jQuery将类添加到某些元素

我有一个像这样的多级菜单: item 1 item 1.1 item 1.2 item 2 item 3 item 3.1 item 3.2 item 4 在jQuery我有 $(“#divId ul li:odd”).addClass(“blue”); $(“#divId ul li:even”).addClass(“green”); 问题是jQuery将类添加到所有列表中。 我希望jQuery只将类添加到第一级(ul> li.class)而不是内部子级(ul> li> ul> li.class) 谢谢

jQuery empty()vs text(”)

之间有什么不同吗? $(element).empty()和$(element).text(”); 哪一个更好?

DOMNodeInserted在IE中

为什么这段代码不适用于IE? 请帮忙解决它: jQuery(‘body’).live(‘DOMNodeInserted’,function(e){ var parent = jQuery(e.target).parent(); parent.find(“a”).css(‘color’,’#AA62C6′); parent.find(‘a’).removeAttr(‘onmousedown’); });

根据文本内容过滤jquery对象中的元素

我试图使用带有’this’关键字的contains ,但它给出了一个错误。 JS $(function(){ var check=$(‘ul’).find(‘li’).filter(function(){ return $(this:contains(‘two’)).css(‘color’,’red’) }) }) HTML one two one two one two one two one two