问题标签 [replacewith]

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 投票
1 回答
747 浏览

javascript - 替换后jquery中的数据对象未定义

我正在编写一个 jquery 插件,我需要一些按钮来获得双重状态(如编辑/保存)我通过 JSON 获取此信息并将其插入按钮中:

单击按钮后,我将在此处更改操作。所以我想通过一个模板和我从 button.data 获得的信息来替换整个链接。由于我不仅要替换 innerHtml 还要替换外部,所以我必须使用' replaceWith '。然后我将“数据”复制到新按钮并(理想情况下)删除旧按钮。

问题是:一旦退出函数,我就会丢失新数据,因为它说它是undefined。有人可以帮忙吗?使用“replaceWith”不是必须的,所以如果你想出另一个解决方案就可以了。

0 投票
5 回答
5857 浏览

onclick - 更改 html 后 Jquery .click() 不起作用

这是非常基本的,我有一个按钮,当你点击它时,它会改变。但是在它更改之后,该.click()事件不适用于它,但适用于页面上已经存在的 div

0 投票
1 回答
1050 浏览

javascript - 与 FV 或 GoogleChrome 相比,在 IE 中替换 DOM 元素速度较慢

我正在工作的应用程序需要快速响应。客户端应该通过填写表格来创建配置。表单上的每次修改都会将表单发送到服务器进行验证。服务器响应一个新的 HTML 页面。然后在浏览器中呈现该页面。我的任务是在这个过程中添加 Ajax,从而改善用户体验。这是我到目前为止所做的:

XHR 是从服务器接收的 HTML 页面。基本上我只想检索表单 (#hiddenvars) 并将其放置在 DOM 中已经存在的表单上。

doSubmitWithAjax()每次表单发生更改时都会触发该函数。目前的实现适用于 Firefox 和 Chrome。IE的响应时间太长了。我使用了一些工具来检查需要花费这么多时间的东西,结果发现这replaceWith()比 FF(0.2 秒)慢(1.3 秒)。

我的问题:如何提高 IE 的响应时间?我可以用什么代替 replaceWith() ?我试过了: $('#hiddenvars').empty().replaceWith(bod);因为我不需要 DOM 中的替换表单,但仍然很慢。

谢谢!

0 投票
2 回答
181 浏览

javascript - 如何替换 DOM 节点并在之后包装它?

我有一个 div,我将其替换为 textarea,例如:

这会变成:

进入:

我将如何包装<div id="the-new-div"></div>一个名为 的 div <div id="the-new-div-wrapper">

所以结果会变成:

似乎不起作用。

0 投票
4 回答
4215 浏览

jquery - CSS 样式不适用于替换为 jQuery 的内容

我有一个用 jQuery 动态替换的 div。

我做这样的事情:

请求正确并且标记加载没有问题,但是即使 ajax 调用(“return”)返回的内容与 #myDiv 完全相同(它包含具有相同 id 的元素),一些样式应用不正确。

最奇怪的是,使用 Chrome 时,如果我右键单击样式错误的元素并选择“检查元素”,则样式会很好地加载。

这在 IE8 上正常工作。

关于在 Chrome 上可能导致此问题的任何想法?

谢谢

0 投票
3 回答
12640 浏览

javascript - 用自然 JavaScript 编写 jQuery 的 replaceWith() 的最佳方法

尽快访问页面的函数有问题,所以我需要用纯 javascript 编写它并将其包含在头部。不知道该怎么做,因为据我了解,通过使用 .replace() 新元素将被移动到页面上的不同位置。jQuery 的 replaceWith() 行为是理想的。

0 投票
1 回答
272 浏览

jquery - 无法为 .replaceWith 方法获取正确的选择器

这段代码有一些问题,我想替换一段 html 代码,该代码在从单选按钮选项中选择一个选项时定义背景是什么。我似乎无法正确选择选择器。

0 投票
1 回答
712 浏览

jquery - 使用 jquery 将不同的 div 加载到弹出 div 中

我有一个弹出 div,我需要使用自定义 id 加载一堆不同的 div。

例如,假设我们有 recipepopup1 recipepopup2 和 recipepopup3,每个都有一个 recipebutton1,recipebutton2 recipebutton3,然后我们有另一个 div 将 recipepopup1..recipepopup3 加载到名为 recipe_popup 中。

我怎么能拥有它,所以当我单击 button1 时,它将 div1 加载到 popupdiv 中,如果我单击 button2,它将 div2 加载到 recipe_display 等。

现在我正在使用replaceWith(),我发现当我点击button1时它用recipepopup1替换recipe_pop div的id,所以当我点击recipepopup2时,它只是将div加载到recipe_popup div之外

还有一点需要注意的是,每个 recipepopup 都应该能够被无限加载多次 - 所以当我关闭弹出窗口并单击一个已经被点击的 recipebutton 时,它仍然会弹出相关的 div

感谢您的帮助:) 凯蒂这是我当前的代码:

0 投票
4 回答
1018 浏览

jquery - 用 jquery 替换

我有这样的ajax调用生成的列表

使用 setinterval,相同的 ajax 调用将创建一个这样的列表

获得 listClone 后,我需要将列表“A”替换为 listClone A。

我如何用 jQuery 做到这一点?

0 投票
3 回答
198 浏览

jquery - 如何使用 jQuery replaceWith 替换不同数量的元素

我有不同数量的具有相同类名的元素:

我想用一组具有相同类名的新元素替换其中的每一个,但可能会有更多或更少的元素:

或者

如果我使用$('p.test').replaceWith('new content'),它将用内容替换每个元素,所以我不能这样做。

实现这一目标的最佳方法是什么?

编辑(另一种解释):

所以我在页面上有这些元素:

然后,我动态检索一组具有相同类名(可能还有其他一些类名)的新元素(数量不等)。例如:

在上面的示例中,我希望前三个<p>元素消失。取而代之的是 2 个动态检索的<p>元素。

请记住,任一集合的元素数量可能会有所不同。