Tag: dom

从iframe重用jQuery对象?

我有一个WYSIWYG应用程序,它使用iframe将div转换为编辑器。 应用程序内部使用jQuery和jQuery UI作为其核心库。 为了扩展应用程序的function,我考虑使用jQuery和jQuery UI ,这在我的父DOM是不可用的 我有两个选择 在我的父DOM加载库。从iframe本身获取库并开始扩展应用程序,即jQuery = window.frames[0].jQuery 。 后者使我无法将其加载到我的父DOM ,但是我遇到了一个问题,其中Dialog Select菜单无法按预期工作。 它根本没有显示选项。 代码类似于: // Here I chose both jQuery from parent and // jQuery = window.frames[0].jQuery div = jQuery(“”) div.append(“FooBar”) jQuery(“body”).append(div) div.dialog{appendTo:editorID} //Editor is in iframe 有谁知道当你这样做时会发生什么jQuery = window.frames[0].jQuery ? 这个jQuery对象是一直在操纵iframe DOM而不是父DOM吗? 或者jQuery与新DOM一起工作得很好。

我如何看到后台加载的jQuery Mobile?

使用jQuery Mobile,我已经看到当点击链接并提供相关页面时它如何添加到现有DOM。 然后,准备好后,它会切换到新的data-role=”page” 。 但是,当我在浏览器(谷歌浏览器或Mozilla Firefox)中执行“查看源代码”时,我会看到原始页面已发送,而不会在以后加载其他内容(DOM注入)。 如何查看浏览器的实际内容(后期呈现HTML)? 如果它恰好是一个JavaScript解决方案,请不要假设我知道在哪里放置它以及如何触发它来显示内容。

jQuery克隆节点错误

我必须检查’p’元素是否包含一些文本,如果是,则创建另一个元素’span’然后克隆’p’元素并追加并将其替换为’span’元素。 但是我收到以下错误: Uncaught NotFoundError:无法在’Node’上执行’appendChild’:新的子元素为null。 这是我的代码: if ($(“p:contains(‘computer forensics is’)”)) { var highlight = document.createElement(‘span’); highlight.className = ‘highlight’; highlight.style.backgroundColor = “red”; highlight.id = “”; highlight.setAttribute(“title”, “”); var node = $(“p:contains(‘computer forensics is’)”); var wordClone = node.clone(true); highlight.appendChild(wordClone); node.parentNode.replaceChild(highlight, node); }

我无法自动播放vimeovideo(手机)

我正在尝试在移动设备上autoplay iframe包含的video。 该应用程序运行良好,但用户必须单击iFrame内的按钮才能播放video。 我已经尝试在iframe使用”autoplay=1″参数,但它没有在移动设备上显示(在桌面上很好)… 你能帮助我吗? 谢谢

jQuery:在动态插入的输入元素上调用函数

首先,我会说清楚,我通过以下链接,但发现很难解决我的问题。 Link1 , Link2 , Link3 问题: 我在页面上加载了以下内容: Yes No 以上所有代码(删除了最复杂的代码)都会显示一个可点击的是/否字段, 如此图片所示 当回答“是”时,以下元素将动态加载到DOM 做法: 需要将加载的输入元素的类型从text更改为tel。 对于加载到DOM的所有元素,我有以下内容,这对于最初加载的元素非常有用: $(document).ready(function() { $(“.GTnumeric”).not(“[type=hidden]”).attr(“type”, “tel”); }); 但我发现很难让它适用于动态加载的元素。 我需要在许多[页面上解决相同的问题,我不能以任何ID为目标,因为它会针对每个元素进行更改。 任何人都可以帮我解决这个问题,使用jQuery可能的方法。 感谢您的帮助。 更新: 在得到@barmar和@ f-CJ的一些建议后(感谢你们两位),我试过以下: 我试过以下: var observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { console.log(mutation.type); // here I need get all elements with class “GTnumeric” and // change its “type” […]

图像属性是DOM的一部分(jQuery – webkit与其他浏览器不一致)吗?

我使用jQuery在Chrome和Safari上遇到了一个问题,使用一条图像的宽度进行一些计算。 使用我的计算时: $(document).ready(function() { /* some calculations with $(“img”).width() */ }); 在IE6 +和Firefox中一切正常,但它不适用于Chrome和Safari:$(img).width()是0,无论图像是否已经缓存。 使用: $(window).load(function() { /* some calculations with $(“img”).width() */ }); 它适用于所有上述浏览器,但问题是它只在所有图像完全加载时才开始。 webkit行为是预期的行为还是有一些webkit / jQuery错误导致图像属性不是DOM的一部分? 如果它是webkit / jQuery的问题:有没有办法让我的脚本比上面提到的解决方案更早执行? 顺便说一句,我没有使用图像尺寸的任何内联属性。

用于节点创建的DOM回调

每当满足某个选择器的div插入DOM时,我想要执行某个回调。 我已经探讨了DOM事件文档,而我发现的最接近的事件是“加载”,但它并不像我希望的那样完成。 理想情况下,我想要的是: $(“.myclass”).live(“load”, function(){… do stuff to $(this) …} 给出我正在做的事情的一些背景: 我在网页上有一个事件,每次点击某个按钮时都会创建新的表单。 修改JS代码是非常不受欢迎的。 我想将表单中的一个字段转换为jstree,因此我能想到的唯一方法是为插入到DOM事件附加一个回调并在func中附加一个jstree。 更新:我发现DOMNodeInserted,但显然它在IE中不受支持。

升级javascript,添加一个字段的链接

我正在尝试将Sales Stage字段标签更改为超链接以弹出新的浏览器窗口。 目前我有一个带有Sales Stage字段的表单,该表单有一个下拉列表:: 基础HTML: Sales Stage 或者更好的格式: 我以前使用的函数在旧版本的表单上工作: function csjs_AddHyperlinkToLabel(sFieldId, sURL, sWindowOptions) { var sCurrentLabel = $(“label[for='” + sFieldId + “‘]”).html(); $(“label[for='” + sFieldId + “‘]”).html(“” + sCurrentLabel + “”); } 上面的函数在一个带有以下html的表单上工作:: javascript需要进行哪些更改才能将Sales Stage字段标签更改为超链接以弹出新的浏览器窗口? 虽然我非常感谢解决方案,但我正在寻找如何实现这一目标的指导。 感谢您的关注和时间。 不幸的是,下面的解决方案不起作用。 我通过调试器运行了这个,这就是我得到的http://screencast.com/t/fT6tHvXZzvc 这里的问题是我们将“salesstagecode”传递给此函数: csjs_AddHyperlinkToLabel(“salesstagecode”, sPageURL, sWindowFeatures); 结果certificate是NULL: var sCurrentLabel = $(“label[for='” + sFieldId + “‘]”).html(); * 问题是Microsoft改变了表单的呈现方式,并且呈现页面的HTML将不再适用于函数的编写方式。 标签现在位于span标签中,而不是标签标签。 […]

.on()没有检测到dom变化

让我的.on()工作有些问题。 我的网站在这里 。 如果你看看www.eliteweb-creation.co.uk/dev/js/nav.js,我在$(‘a.left.active’)上设置一些关于mouseenter和mouseleave事件处理程序$(‘a.left.active’) 为了将来查看此post的任何人,我已将代码添加到jsfiddle: http://jsfiddle.net/TcbAP/ 锚点在单击时动态添加.active ,因此使用.on()而不是.on() ,以便jQuery检测到dom更改并添加事件处理程序。 在添加.active类之前我的.on(“click”) for anchors工作正常,问题似乎是.on()没有检测到类更改。 任何和所有的帮助表示赞赏。

jQuery与普通javascript:构建DOM树时append和appendChild之间的差异

我问了一个关于为标题解析文档和创建嵌套dom结构的问题(通过和无序列表) 如何为任何标题稳健地解析文档并构建仅仅那些标题的 树 在第二个答案中,提出了一个解决方案以及一个小提琴: http : //jsfiddle.net/fA4EW/ 解决方案很接近,但似乎不适用于包含引号属性的元素,所以我试图在jQuery中重构它http://jsfiddle.net/funkyeah/s8m2t/3/ 我觉得我真的很接近使它工作但解决方法之间的差异 elm / li.appendChild和我的代码$ elm / li.append(它们似乎返回不同的值并以不同方式修改elm / $ elm对象) do { li = elm.lastChild; if(li == null) li = elm.appendChild(document.createElement(“li”)); elm = li.appendChild(document.createElement(“ul”)); cnt++; } while(cnt < (curLv – lv)); } li = elm.appendChild(document.createElement("li")); // replace the next line with archor tags or whatever you want […]