Tag: dom

使用jQuery获取iframe的html内容

我正在尝试定制OpenCms(基于java的开源CMS),它使用嵌入式FCKEditor,这是我正在尝试使用js / jQuery访问。 我尝试获取iframe的html内容,但是,总是将null作为返回值。 这就是我尝试从iframe中获取html内容的方法: var editFrame = document.getElementById(‘ta_OpenCmsHtml.LargeNews_1_.Teaser_1_.0___Frame’); alert( $(editFrame).attr(‘id’) ); // returns the correct id alert( $(editFrame).contents().html() ); // returns null (!!) 查看屏幕截图,我想要访问的是“LargeNews1 / Teaser”html部分,该部分目前包含值“Newsline en …”。 下面你还可以看到Firebug中的html结构。 但是, $(editFrame).contents().html()返回null,我无法找出原因,而$(editFrame).attr(‘id’)返回正确的id。 iframe内容/ FCKEditor位于同一站点/域上,没有跨站点问题。 iframe的Html代码位于http://pastebin.com/hPuM7VUz 更新: 这是一个有效的解决方案: var editArea = document.getElementById(‘ta_OpenCmsHtml.LargeNews_1_.Teaser_1_.0___Frame’).contentWindow.document.getElementById(‘xEditingArea’); $(editArea).find(‘iframe:first’).contents().find(‘html:first’).find(‘body:first’).html(‘some new value’);

jQuery中的addClass和removeClass – 不删除类

我正在尝试做一些非常简单的事情。 基本上我有一个可点击的div’热点’,当你点击它填满屏幕并显示一些内容。 我通过简单地改变div的类,删除’spot’并添加’grow’来实现这一点,并且有一些CSS动画来使它成长。 这很好用。 问题是,在这个div中有一个close_button,目前只是文本。 我希望这可以将类切换回来 – 即删除成长和读取的点。 单击时不会执行此操作。 我相信这是在DOM加载时没有这些类的元素,但我是jQuery的新手,不知道如何解决这个问题。 我认为这可能是一种更明智的做法,有人能指出我正确的方向吗? 我会非常感激的。 我尝试使用toggleClass而无济于事。 $( document ).ready(function() { $(“.clickable”).click(function() { $(this).addClass(“grown”); $(this).removeClass(“spot”); }); $(“.close_button”).click(function() { alert (this); $(“#spot1”).removeClass(“grown”); $(“#spot1”).addClass(“spot”); }); }); 更新: 我现在正在使用此代码, $( document ).ready(function() { $(document).on(“click”, “.close_button”, function () { alert (“oi”); $(“#spot1”).addClass(“spot”); $(“#spot1”).removeClass(“grown”); }); $(document).on(“click”, “.clickable”, function () { if ($(this).hasClass(“spot”)){ $(this).addClass(“grown”); $(this).removeClass(“spot”); […]

是否会在正文中而不是在标题中链接javascript文件会导致问题?

这就是我想要做的事情 $(document).ready(createHeader()); $(document).ready(scriptSet()); 我希望避免将两者分开,虽然我通常只在标题内部看到脚本链接,但是文件.ready函数在放在那里时似乎不起作用。 然而,当放置在身体的末端时,一切似乎都完全正常,所以这会导致任何问题或者这很好吗?

您是应该使用innerHTML将DOM添加到DOM还是逐个创建新元素?

将HTML代码添加到DOM有两种方法,我不知道最好的方法是什么。 第一种方法 第一种方法是简单方法,我可以使用$(‘[code here]’).appendTo(element);简单地添加HTML代码(使用jQuery) $(‘[code here]’).appendTo(element); 这很像element.innerHTML = [code here]; 第二种方法 另一种方法是逐个创建所有元素,如: // New div-element var div = $(”, { id: ‘someID’, class: ‘someClassname’ }); // New p-element that appends to the previous div-element $(”, { class: ‘anotherClassname’, text: ‘Some textnode’, }).appendTo(div); 此方法使用element.setAttribute和element.setAttribute等核心函数。 我何时应该使用第一种方法,何时使用第二种方法? 方法二比方法一快吗? 编辑 – 速度测试的结果 我做了三个速度测试,代码如下: $(document).ready(function(){ // jQuery method – Above […]

DOM元素可以包含一个包含空格的ID吗?

如果是这样,你如何选择jQuery? 即, $(“#ab”)查找id=a节点内的所有节点。

检测DOM元素顺序的变化

我有以下代码: Random text Random text 并且,使用代码,我有50%的机会更改div中元素的顺序。 $(document).ready(function() { var initial = $(“div”); //This might not be ok if (new Date() % 2) //50% chance to randomize order randomizeOrder(); var after = $(“div”); //Also this might not be ok //Detect if the order of spans changed if (after != initial) //Definitely won’t work console.log(“Order changed”); }) […]

如何在末尾的添加脚本中添加脚本

客户端正在使用Sharetribe,它允许您通过管理员添加自定义JS,但仅限于头部。 我希望我的脚本在jQuery之后加载,但jQuery在主体的末尾加载。 如何在doc加载后编写将主要脚本添加到最后的vanilla JS? 我试过这个: var script = document.createElement(“script”); script.type = “text/javascript”; script.src = “http://cdn…”; document.body.appendChild(script); var script2 = document.createElement(“script”); script2.type = “text/javascript”; script2.text = “$(SOME.CODE.HERE);” document.body.appendChild(script2); 但它在文档加载完成之前执行(特别是在jQuery可用之前)。 我能想到的唯一一件事是设置一个计时器,但这似乎有点儿。 任何建议?

iframe没有src但仍有内容?

在他们的网站上调试jquery代码时(通过chrome开发人员工具栏) 我注意到他们的示例是在Iframe下给出的: 这里 – 例如,有一个样本在Iframe下,但在调查之后,我看到iframe没有SRC 图为这一切 题 : 是否可以在不设置其SRC的情况下将内容设置为Iframe? ps这个菜单还显示了一个空内容

JavaScript / jQuery中的“if mouseover”或“do while mouseover”

是否有JavaScript或jQuery解决方案在鼠标hover在DOM对象上时重复运行函数(在setTimeout之后)? 否则说,有没有JavaScript“做鼠标hover”(或“如果鼠标hover”)? $(‘someObject’).bind(‘mouseover’, function() { //Do the following while mouseover $(‘someOtherObject’).css(‘margin-left’,adjustedLeft + ‘px’); setTimeout(/*do it again*/,25); });

在SVG中创建一个表

我正在尝试在SVG文档中创建一个类似于表的对象。 目前,由于SVG没有表元素,我使用HTML解析器将HTML表(由HTML表生成器中的用户创建)转换为一组SVG对象,并且然后将其添加到我的整体SVG绘图中。 我想知道是否有人能够找到更好的替代方法,例如SVG表构建器? 我想用Javascript或jquery来完成这个。 任何想法或建议将不胜感激。