Tag: dom

DOMNodeInserted事件循环

我正在为facebook开发一个chrome扩展(我的第四个问题……),它在“喜欢”按钮旁边添加了一个自定义按钮。 由于post会自动添加到新闻Feed而不刷新页面,因此每次添加新post时都必须添加脚本。 我使用DOMNodeInserted事件。 问题是,当调用事件时,我向页面插入一个新元素(按钮),然后循环! 我的剧本: $(document).bind(‘DOMNodeInserted’, function(event) { $(“.like_link”).after(‘ · תכל´סלא תכלס’); $(“.taheles_saving_message”).hide(); }); 你可以在这里看到我之前的问题 我已经厌倦了提问,所以我真的很感激任何回答/评论!

将脚本插入iFrame的标题,而不清除iFrame的主体

我正在寻找一个脚本添加到iFrame的标题,同时不会丢失iFrame的主体或标题中包含的所有内容…… 这是我现在用新脚本更新iFrame的内容,但是它会清除iframe中的所有内容,而不是追加我想要的内容。 thxs! 乙 // Find the iFrame var iframe = document.getElementById(‘hi-world’); // create a string to use as a new document object var val = ”; // get a handle on the d document (in a cross-browser way) var doc = iframe.contentWindow || iframe.contentDocument; if (doc.document) { doc = doc.document;} // open, write content […]

通过从DOM中删除它的代码来清理javascript变量范围

希望这个基于jquery的简单代码有助于解释这个问题。 HTML: $(‘#remover’).click(function(){ $(‘#block’).empty(); }) $(‘#test’).click(function(){ alert(remove1); // still displays the varibale }) var remove1 = ‘asasdsds’; var remove2 = ‘asasdsds’; var remove3 = ‘assdsdsdas’; var blabla = ‘blablabl’; Remove ALL Test // it will still displays the variable. 我需要通过删除块内容来清除全局范围内的所有变量。 块内容是动态的,可以包含任何javascript代码。 谢谢阅读。

我可以使用Jquery在动态表中插入结束标记和开放标记吗?

我正在尝试使用下面的代码动态添加结束标记,然后打开,以便我每三个单元格创建一个新行。 几乎工作,DOM检查器显示一个TR节点,问题是,发生的事情tr没有关闭tr标签。 我是Jquery的新手,这个代码有什么问题吗? $(document).ready(function(){ $(‘td:nth-child(3n)’).after(”); }); <?php function somelongassfunction(){ return 'Hello'; } function have_products($a){ return $a<=20; } $x=0; while (have_products($x)) { echo '’ . somelongassfunction() . ”; $x++; //————————————- /*if (fmod($x,3) == 0) { echo ”; continue; }*/ //————————————– if ($x==20){ break; } } ?>

创建输入作为输入的子项

是否可以创建一个文本的子项按钮? 我问的原因是我想制作一个combobox。 看到这个小提琴 。 在jquery中执行此操作,该按钮不会出现。 在常规html中执行此操作,第二个输入不是第一个输入(至少在Chrome中)。 我可以在一个范围内放置一个文本和按钮,但我更喜欢在示例中创建文本框,以便稍后可以检索值,如:$(“#test).val(); PS我知道其他combobox插件存在。 我想将自己用于学习目的。

javascript事件无法使用json添加的动态内容

我遇到的情况是我的DOM元素是基于$.getJSON动态生成的,而且这些元素的Javascript函数不起作用。 我将在我的代码上发布一些一般性的想法,因为我正在寻找在这种情况下应该做什么的方向。 site.js包含一般function $(document).ready(function() { $(‘.element’).on(‘click’, function() { $(this).toggleClass(‘active’); }); $(“.slider”).slider({ // some slider UI code… }); }); 之后: $.getJSON(‘json/questions.json’, function (data) { // generating some DOM elements… }); 我还尝试将所有site.js内容包装到函数refresh_scripts()并在$.getJSON()之后调用它,但似乎没有任何工作。

javascript如何在以后触发本机点击操作(重播事件)?

我正在使用jQuery绑定页面上的所有链接(我正在使用’click’事件,但尝试了’mousedown’和’mouseup’的各种组合,以及bind()和live()无济于事)。 我可以拦截点击没问题(使用上述所有方法)。 我想要做的是通过GET请求发送一些数据,当它完成时,允许默认点击操作继续。 由于我在跨域通信,我必须使用GET而不是POST,因此无法进行同步调用。 因此,我必须从截获的点击事件返回’false’,将事件存储起来以供日后使用,然后在通信完成后再次手动触发它。 如果我返回true,则随着页面位置的改变,通信将在中途被切断。 问题是,我找不到以后触发本机点击事件的方法。 var storedEvent; $(“#wrapper a”).bind(‘click’, function(event, processed) { $(event.target).unbind(‘click’); // temporary to make code branching easier storedEvent = event.target; event.stopPropagation(); $.ajax({ dataType: ‘jsonp’, data: linkData, jsonp: ‘cb’, url: ‘xxx’, cache: false, complete: function(response) { // How do I now go back and fire the native click event here? $(storedEvent).click(); […]

什么时候使用基于DOM的Generation而不是使用strings / innerHTML / JQuery来生成DOM内容?

我想知道何时使用基于DOM的生成与.innerHTML或使用JQuery的.append方法追加字符串? 我在这里阅读了相关的post你应该使用innerHTML或逐个创建新元素来向DOM添加HTML吗? 但我仍然不确定每种方法的用例。这只是一个性能问题,我总是会选择一个而不是另一个? 假设表单是一个任意变量: DOM生成 var div = document.createElement(“div”), label = document.createElement(“label”), input = document.createElement(“input”); div.appendChild(label); div.appendChild(input); form.appendChild(div); JQuery的 $(form).append(“”)

在加载DOM之前,Ajax调用是否可以完成?

我通过jQuery Ajax调用抓取数据,并在页面上显示它。 我需要等待DOM加载和Ajax调用完成才能使用数据在页面上显示它。 在加载DOM之前,Ajax调用是否可以完成? 我只是想确定我需要把我的方法放在哪里来操纵DOM并使用我要回来的数据。

load()顺序,而不是与jQuery同时

我正在开发一个网站,我希望从导航栏中获取所有链接,并将链接页面中的div加载到一个大容器中。 到目前为止我所拥有的是以下内容: $(‘nav a’).each(function(index){ var to_load = $(this).attr(‘href’) + ‘#slides section’; $(”).load(to_load, function(){ $(‘#slides’).append($(this).html()); }); }); 这很有效,除了它几乎总是乱序,可能是由于异步加载它。 有没有办法一次加载每个,所以这些部分将按顺序,同时仍保持灵活性? 谢谢你提前!