Tag: dom

如何在新标签中打开新创建的图像?

下面的代码在同一页面的底部创建图像。 如何将该图像显示到新的选项卡/窗口而不是显示在同一页面中? success: function (data) { var image = new Image(); image.src = “data:image/jpg;base64,” + data.d; document.body.appendChild(image); }

Internet Explorer中的jQuery“对象不支持此属性或方法”

我正在使用jQuery为网站添加一些动态内容。 我正在尝试使用以下代码按需创建新的DOM元素: container = $(”); 这在Firefox和Safari中完美运行,但Internet Explorer生成错误。 IE错误是: Object doesn’t support this property or method 我知道jQuery正在加载,并尝试了jQuery和$语法。 关于可能导致这种情况的任何想法?

jQuery中最近的祖先节点

在我的javascript体验中,我发现这是一个非常常见的任务“搜索具有某些条件的元素的最近祖先(标记名称,类,…)”。 jquery的parents()方法可以完成这项工作吗? parent()的返回元素的顺序是可预测的吗? 从上到下还是从下到上? 目前我使用这个实用function: function ancestor(elem, selector) { var $elem = $( elem ).parent(); while( $elem.size() > 0 ) { if( $elem.is( selector ) ) return $elem; else $elem = $elem.parent(); } return null; } 有人能告诉我是否有聪明的方法来完成这项工作?

获取包含属性的开始标记 – outerHTML,不带innerHTML

我想从DOM中检索某个带有其属性的标记元素。 例如,来自 link text 我希望 ,可选择关闭 ,作为字符串或其他对象。 在我看来,这类似于在没有.innerHTML情况下检索.outerHTML 。 最后,我需要通过jQuery包装其他一些元素。 我试过了 var elem = $(‘#some-element’).get(0); $(‘#some-other-element’).wrap(elem); 但.get()返回包含其内容的DOM元素。 也 var elem = $(‘#some-element’).get(0); $(‘#some-other-element’).wrap(elem.tagName).parent().attr(elem.attributes); 失败,因为elem.attributes返回一个不能与jQuery的attr()一起使用的NamedNodeMap ,我无法转换它。 承认上述示例不是很有意义,因为它们还复制了元素的不再唯一ID。 但有什么简单的方法吗? 非常感谢。

jQuery .addClass和.fadeIn?

所以,我有这些链接的h1元素,我想为它们添加一个类,并在元素被盘旋之后淡化该类,然后onMouseOut删除类,同时淡化类。 但是使用淡入淡出function对我没什么用。 看到它隐藏了元素。 有任何想法吗? jQuery(“.categories h1 a”).hover( function () { jQuery(this).fadeIn(“slow”).addClass(“active”); }, function(){ jQuery(this).fadeOut(“slow”).removeClass(“active”); }); }); 谢谢! 编辑::: jQuery(“h1”).hover(function() { jQuery(this).stop().animate({ backgroundColor: “#a7bf51”}, 800); },function() { jQuery(this).stop().animate({ backgroundColor: “#FFFFFF”}, 800); }); });

由web worker访问dom

我变得疯狂,需要你的帮助。 我正在研究一个serviceworker项目,我正在处理一个javascript问题。 我有两个主要文件。 server.html文件,我在第52行调用外部service-worker.js文件。 这是我的server.html文件 PRESENTER Nickname: Nickname: OK –> $(document).ready(function() { console.log(“jquery ready function”); $(‘#nick’).focus(); $(‘#form-nick’).submit(function(){ var form = $(‘#form-nick’); var data = form.serialize(); $.post(‘nicky.php’, data, function(response) { if (response) { $(‘#nicky’).show(); $(‘#nickname’).text(response); $(‘#form-nick’).hide(); $(‘.blue, .red, .lightblue’).fadeIn(100); if(‘serviceWorker’ in navigator){ // Register service worker navigator.serviceWorker.register(‘service-worker.js’).then(function(reg){ console.log(“SW registration succeeded. Scope is “+reg.scope); }).catch(function(err){ console.error(“SW registration […]

jQuery DOM操作 – 性能比较?

我正在使用jQuery学习DOM操作,并希望了解浏览器性能最佳实践。 假设我有两个DOM元素(div,p,ol等),我希望用户只能看到第一个元素,然后才能看到第二个元素。 我可以: 使用replace() remove()第一个元素和add()第二个元素 hide()第一个元素,show()第二个元素 两者之间的性能差异是什么: 1对2 2比3 1对3 如果元素属于不同类型,是否还有其他性能考虑因素? 或者,如果元素是按钮或表单字段?

使用jQuery从DOM元素创建json

如果我有以下DOM元素 content1 content2 如何,使用jQuery和Javascript,我是否构建如下的JSON对象? [{ ‘classname’: ‘item’, ‘content’: ‘content1’ } { ‘classname’: ‘item’, ‘content’: ‘content2’ }] 有人建议进一步阅读?

从远程网站提取HTML内容并在页面上显示

现在已经有一段时间了,我很难过。 我试图从远程网站页面上的特定div中提取内容,然后将该html插入我自己网站上的div中。 我知道你不能单独使用jQuery的.ajax,.load或.get方法来进行这种操作。 这是远程页面的HTML: …table #1 content… …More table content… …table #2 content… …table #3 content… 目标:我正在尝试从远程页面的第一个表中获取html。 所以,在我的网站上,我希望获取以下html并将其放在id =“fetched-html”的div中: …table #1 content… …More table content… 到目前为止,我正在使用我的PHP函数: loadHTML($output); // Get 1st table $output = $DOM->firstChild->getElementsByTagName(‘table’); return $output; } ?> 最终结果应该在我的本地网站页面上显示如下: …table #1 content… …More table content… 这是另一个PHP函数的可能性? <?php function pullRaspPi_SDImageTable() { // Url to fetch $url […]

为什么我不能用JQuery .html添加?

为什么这段代码有效: $(‘div.error_container’).html(‘No more foo allowed’); 但是这段代码会导致错误: $(‘div.error_container’).html(‘No more foo allowed’); 我已经尝试将放在 标签之前和之后,同样的错误。 我已经尝试将它从更改为 。 Chrome始终在检查器中说明以下内容: Uncaught SyntaxError: Unexpected token ILLEGAL