Tag: dom

jQuery – 使用类“.container”获取div中的所有div

场景: 我有一个包含链接的菜单: Main Menu Item ————– Sub: Show Grid > SubSub: Show #first Show #second Show #third 现在我需要找到所有带有css #ID div,它们是.container div中的第一级DOM元素。 这些元素应该附加到“Sub:Show Grid”并通过单击添加一个类。 1st 2nd 3rd 题: 我如何找到带有jQuery的(未定义/未知) #ID的第一级div? 我如何与php中的结果进行交互 – 我会得到一个数组作为结果来构建SubSub菜单吗? 提前致谢! 编辑#1 为了让我更清楚我正在尝试做什么 – 在伪代码中: $divs_received_from_jquery_fn = ‘how do I get the divs (IDs?) as array(?) and interact with them in the following […]

什么是更好的做法:eval或追加脚本?

我需要执行一些我从一些AJAX调用中获得的自定义JavaScript。 我可以对字符串进行eval ,或者我可以将它附加到DOM的script标签中。 哪种方法会更好? var dynamicScript = ‘alert(\’Hello world!\’);’; 方法1 – 脚本 : var x = ” + dynamicScript +”; $(document.body).append(x); 方法2 – 评估 : eval(dynamicScript); 什么方法更好,为什么? 还是有更好的选择?

如何使用jQuery从iFrame中获取父窗口的高度?

在iFrame中,我们需要获取父窗口/文档高度。 有没有办法使用jQuery获得这个? 我知道我们可以使用$(document).height()来获取页面的高度。 我无法弄清楚如何从iFrame中获取父级的值。 请帮忙!

是否真的有必要等待DOM准备好操纵DOM?

如果您的代码只操作已经完全解析的DOM元素,是否真的有必要等待“ready”(或“window.onload”)事件? “ready()”函数的jQuery文档演示了如何在DOM完全就绪之前等待执行操作,但示例是针对相关DOM元素之前列出的代码(脚本标记)。 但似乎在HTML文档中必要的DOM元素之后出现的代码可以访问它们,因为可能是DOM是在浏览器解析文档时构建的。 例如,可以安全地假设以下代码在所有情况下都是可靠的,或者是否仍然需要(或以某种方式有益)使用ready / onload处理程序? var foo = document.getElementById(‘foo’); foo.innerHTML = ‘The element #foo is loaded!’; 这个问题非常相似,但我想查看是否有更多信息。

如何捕获DOM元素的创建并使用jQuery操作它们

我正在尝试设计一种方法,当添加一个简单的div元素与类和一些data- *时,它将替换它或添加一些其他元素。 不应该手动调用此方法,而是通过某种.live()jQuery方法,自定义事件或类似$(’body’)。bind(’create.custom’)等自动调用此方法。我需要它因为我不会提前知道将创建哪些元素,因为它们将通过像单个空div或p的ajax来提供。 on create jQuery(function($){ $(“div.fancyInput”).each(function(index,element){ var $div = $(this); var dataId = $div.attr(“data-input-id”); var inputId = ”; var labelId = ”; if(!!dataId){ inputId = ‘id=”‘ + dataId + ‘”‘; labelId = ‘id=”‘ + dataId + ‘Label”‘; } // if var dataValue = $div.attr(); $( ” + ‘ A fancy input’ + ‘ ‘ […]

将html加载到页面元素(chrome扩展名)

我正在尝试编写Chrome扩展程序,在某些网页的顶部会有一个栏。 如果我有这样的内容脚本: $(‘body’).prepend(‘test’); 一切看起来都不错,但我最终想要的是这样的: $(‘body’).prepend(”); $(‘#topbar’).load(‘topbar.html’); topbar.html是: test 但是,当我将其更改为此时,网页会被破坏。 大部分内容都消失了,我最终看到了一些广告。 我甚至看不到’测试’标题。 我已经检查过以确保页面上没有其他“topbar”ID。 怎么了?

响应页面加载后添加到文档的元素的单击事件

我正在编写一个页面,它使用jQuery for AJAX进行大量的原位编辑和更新。 我遇到了一个问题,可以通过下面描述的工作流程进行总结: 单击页面上的“element1”会导致jQuery AJAX POST 数据以json格式接收 以json格式接收的数据 接收的数据用于更新页面中现有元素的“结果” 收到的数据实际上是HTML表单 我希望jQuery在单击表单按钮时负责POST表单 问题出现在上面的第6点。 我的主页面中的代码如下所示: $(document).ready(function(){ $(‘img#inserted_form_btn’).click(function(){ $.ajax({‘type’: ‘POST’, ‘url’: ‘www.example.com’, ‘success’: function($data){ $(data.id).html($data.frm); }), ‘dataType’: ‘json’} }); }); 但是,事件未被触发。 我认为这是因为首次加载文档时,页面上不存在img#inserted_form_btn元素(由于在页面上单击了一个元素(未在上面的代码中显示),因此将其插入到DOM中保持问题简短) 因此,我的问题是:如何让jQuery能够响应页面加载后添加到DOM中的元素中发生的事件?

在Jquery中正确使用.on方法

我真的很喜欢.live方法,因为它很简单,基本上与标准事件处理程序没什么不同。 唉,它被弃用了,我留下了.on方法。 基本上,我正在加载并动态加载内容,我需要触发相同的事件处理程序。 而不是两次或多次添加事件处理程序。 .live对此很好,但是.on已经取代了它,我似乎无法让它工作。 检查此代码: jQuery(‘#who_me’).live(‘click’, function(){ alert(‘test123’); return false; }); 应该是这样的: jQuery(‘#who_me’).on(‘click’, function(){ alert(‘test123’); return false; }); 但是当我在ajax调用之后用.html方法替换内容时,只有live方法有效。 任何人都可以为我清除这个吗?

如何在JavaScript中处理DOM元素以避免内存泄漏

我有一个应用程序,允许用户在回发后查看特定案例的详细信息。 每次用户从服务器请求数据时,我都会下拉以下标记。

性能:纯CSS与jQuery

我已经看到了纯CSS和等效的jQuery之间的一些代码比较。 但我正在寻找有关为什么纯CSS比jQuery明确更快的细节。 这是我见过的一些原因,但这些描述并不深入。 我不确定它们是否真实。 CSS不必由浏览器评估 jQuery必须由浏览器进行评估 jQuery使用脚本语言 CSS是否必须由浏览器进行评估并且还要使用脚本语言? CSS不像jQuery那样走DOM,还是CSS有优势呢?