问题标签 [dom-manipulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
53339 浏览

javascript - jQuery empty() 与 remove()

empty()和中的remove()方法有什么区别jQuery,当我们调用这些方法中的任何一个时,正在创建的对象将被销毁并释放内存?

0 投票
1 回答
15932 浏览

jquery - 删除所选元素之前的元素

我正在做一些表单错误处理/操作,我需要删除正在验证的输入之前的错误 div...

HTML:

如果输入字段经过验证,我想删除 div.textError 。我试过这个...

$(this).before('<div class="textError"></div>').remove('<div class="textError"></div>');

没有骰子。任何帮助将不胜感激

0 投票
1 回答
358 浏览

javascript - 即使单击事件不正确,jquery ajax 方法也会重复

我的网页上有一些 ajax,它是通过点击事件触发的,有问题的 javascript 看起来像这样,

ajax 请求的这一部分工作正常。成功时发生的事情是我将另一个视图加载到我的页面中,这个视图有更多的用户交互,会触发更多的 ajax,但是,它只是触发以前使用的方法,它应该执行以下操作,

HTML+PHP 看起来像这样,

.selectitems 是使用这个插件从选择菜单中创建的,

我正在努力寻找为什么我的第二个 ajax 请求正在运行第一个 ajax 请求的方法的任何原因。

0 投票
4 回答
599 浏览

jquery - Why won't this div add a class in jQuery?

I make a $.get call to my db and it returns some HTML (data):

The HTML it returns is something like this:

In my callback function, I try to add a class to it (based on some conditionals that I have tested are successfully being reached) like so:

Even when someCondition is true, my HTML is not having the mynewclass[someId] class added to it. Is there any reason why this may be that I'm just stupidly overlooking?

Thanks... :\

EDIT

Here's a link to a reproducible example. It's not EXACTLY what i'm doing per se (i'm not using a var outside to get my data, but i'm reproducing the same effect). notice how it's showing 'false' for the test.

0 投票
3 回答
649 浏览

dom - 防止萤火虫操纵 DOM

有没有办法防止程序Firebug操纵页面的DOM

我注意到您可以简单地删除由其他公司支付的广告之类的内容。

有没有办法让页面停止它?

0 投票
6 回答
13042 浏览

javascript - 更改标签但保留属性和内容——jQuery/Javascript

变成

我熟悉 jQuery replaceWith,但据我所知,它并没有保留属性/内容。

注意:为什么 p 会有一个href?因为我需要p换回a另一个活动。

0 投票
1 回答
558 浏览

jquery - 操作隐藏的 div

好的,所以我有一些<div1>包含静态内容的元素。然后,如果您将鼠标悬停在<div1>另一个<div2>上方,则会在其上方弹出。(注意:这是如何发生的,“显示”属性从“无”变为“块”)这<div2>具有与<div1>. 它会根据<div1>您在上面的内容动态填充。

这些<div>元素我无权操作。我想要做的是创建一个 JQuery 脚本,说明是否将这些特定数据填充到以这种方式<div2>操作它。

有人可以帮我吗?我将不胜感激。谢谢!

如果您有任何问题或任何事情,请告诉我!

编辑:好的,这就是我所拥有的......<div id="model-rotator-form">是保持隐藏状态的 div,直到您将鼠标悬停在“li”上,然后它会显示动态内容。

其中<div>有一个包含车辆名称的 H2 元素,一个包含两个链接图像的 UL 元素,以及一堆我不想更改的其他元素。

H2 元素是<h2 class="model-name">Vehicle Name</h2>,UL 元素是<ul class="link-btn"><li><a class="linkBtn" href="Model.aspx?d=711" id="model-rotator-link-1">Research</a></li><li><a class="linkBtn" href="/Dallas/For-Sale/New/Volkswagen/Jetta SportWagen/" id="model-rotator-link-2">Inventory</a></li></ul>

我的代码现在不起作用我知道......这只是一个参考点...... $('#model-rotator-form *'); if($('$h2.model-name').length() >= 25){ $('ul.link-btn').css('margin-top','-20px'); }

让我知道我能做什么。再次......希望这段代码有所帮助。

0 投票
1 回答
334 浏览

javascript - .detach-ed 对象去哪里了?

我有这样的东西:
//html

//JavaScript (jQuery)

所以,在这里我已经'.tools'脱离'.panel',然后我拿按钮并将它们附加到其他地方。但是'.tools'节点呢?它是否被垃圾收集?我是否必须保存 detached '.tools',从中获取按钮而不是销毁它?

如果它的问题 - html 部分是通过 AJAX 请求接收的,并且所有这些代码都在success处理程序中。

0 投票
1 回答
979 浏览

javascript - 让子页面在不调用父托管脚本的情况下调整父页面的大小?

我目前有两个 html 页面、一个服务器托管页面和一个客户端托管页面,它们都在同一个域上。

服务器页面,有一个 iframe 采购客户端页面。

我希望父页面 iframe 根据子页面内容调整大小。为了做到这一点,我在两个页面上都有一些 javascript。客户端(子)页面确定它的尺寸,然后调用在父页面上定义的函数来调整 iframe 的大小(很可能让相同的脚本仅位于父页面上以完成此操作......)。

客户端页面是否可以在不调用父脚本的情况下直接调整父 iframe 的大小?

由于我们是客户端页面的所有者,如果我们可以将此代码隔离到子页面,那么更改任何代码的痛苦就会大大减少。

0 投票
1 回答
297 浏览

jquery - 将 FORM 元素更改为其他元素或将其删除,同时保留所有子元素

我已将 Asp.net MVC 与 Sharepoint 站点集成。它工作得很好。但我也在使用默认的 Sharepoint 母版页(~masterurl/default.master即)。问题是这个特定的母版页将整个页面包裹在一个form元素中,而所有 Sharepoint 页面只是普通的 Asp.net WebForm 页面。

我的 MVC 内容应该有它自己的form和我想提交给服务器的输入元素。Ajax 调用显然没有那么大的问题。$("form").serializeArray()如果我保留原始form元素,我将无法使用。但尽管如此,正常的回发还是有问题的,因为提交事件上有 WebForm 功能,它们会向服务器发送太多数据。

我将使用普通回发以及 Ajax 回发。主要问题是正常的回发。

所以我有两种可能都应该运行$(document).ready()

  1. 删除表单元素并保持所有其他内容不变。在 jQuery 中,它可能意味着在form元素前面加上 a div,将其内容移动到这个 div,然后删除form
  2. 直接将form元素更改为div. 就浏览器处理而言,这可能会更快,但我不知道该怎么做。

因此,如果有人可以详细说明 2. 的解决方案,并就这两种可能的解决方案提供一些输入:应该做哪一个以及为什么。

编辑

还有第三种可能。我可以根据需要创建我的输入元素,但将它们包含在一个div元素中。当用户想要提交我的表单div无论如何都不是表单)时,我可以:

  1. 动态调用$("div.form").serializeArray()
  2. 创建一个表单元素
  3. 用序列化值填充它
  4. 将表单附加到正文
  5. 提交它。

看起来很乏味,但它可以工作。前两个解决方案似乎更简单。