PrototypeJS:如何选择动态创建的元素?

2023-11-30

该网站使用 Prototype JS 库。

页面加载后,它立即执行 Ajax 请求,该请求会拉出并显示页面的更多元素。

我需要能够选择那些动态创建的元素并将它们隐藏.hide() method.

我尝试使用选择并隐藏它们document.observe('dom:loaded', function() { $('my-new-dynamic-element').hide(); }),但是这段代码没有“看到”动态元素。

我看到原型有.on()方法,但我不确定在我的情况下应该指定哪个事件?我尝试了事件“加载”,但没有成功。

我将不胜感激任何关于如何解决这个问题的提示。

UPDATE:我需要在 Magento CMS 后端完成此任务,所以我不能,或者更好 - 我不想修改原始的 Magento javascript 代码和 ajax 请求 HTML 输出。因此,我需要通过添加额外的自定义 Javascript 代码来完成此任务,该代码在动态发布的元素上使用 PrototypeJS 选择器。它们需要被隐藏起来,并且永远不会再次出现。我希望有一个简单的几行解决方案。

PS:我试图隐藏 Magento 管理 ->“创建新订单”页面中的一些地址元素,其中所有客户联系数据都是在加载主页后通过 ajax 请求提取的。但我认为这些信息对于问题描述并不重要。


如果您打算稍后再次显示它们,您可以将 'style="display:none"' 添加到创建您要插入的 HTML 的任何内容(换句话说,/myurl 后面的函数),然后您可以简单地显示这些元素稍后会出现在延迟侦听器中,例如由 on() 方法创建的元素。

// /myurl => '<input type="text" class="foo" style="display:none">'

// later, in the combined page
document.on('click', '.some-control', function(evt, elm){
  evt.stop();
  $$('.foo').invoke('show');
});

这是一个相当广泛的选择器,您可以使用 next 和 previous 或 id 选择器来执行更具体的操作。 on() 方法的要点是,在事件发生之前不会评估其闭包的内容,因此您可以依赖评估时找到的与选择器匹配的所有内容,无论它是在页面加载时存在还是已添加之后。

如果您只想隐藏添加到页面的内容,并且想要一个完全不可知的方法,您可以尝试以下方法:

document.on('DOMSubtreeModified', function(evt){
  $$('.some-selector-here').each(function(elm){
    if(elm.visible()) elm.hide();
  });
});

每次修改页面时都会触发该操作,因此您可以测试并隐藏添加的内容(如果它们与您的内部选择器匹配)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PrototypeJS:如何选择动态创建的元素? 的相关文章

  • Rails *已完成 406 不可接受”在生产中..在暂存中工作

    我遇到了一个错误 已完成 406 不可接受 在生产服务器中 而在登台服务器中我没有面对 相同的代码在暂存中工作正常 但在生产中无法工作 两个环境都安装了相同的 gem 我使用的是 Rails 版本 3 0 10 在我的生产环境中 GET 请
  • 根据下拉选择动态填充字段(Javascript / HTML)

    我正在寻求一些帮助来编码我的公司网站 我们正在尝试根据下拉框中的选择创建自定义 零件编号生成器 我们的目标是 当用户在下拉框中选择一个选项时 它会动态填充下面的框 最终创建一个零件号 所附的屏幕截图很好地直观地展示了设计以及我们想要输出框的
  • AJAX 请求返回 200 OK 但失败,尽管返回数据是 JSON

    Edit 就我而言 它没有返回正确信息的原因是我试图使用 JSONP 连接到 CORS 数据设置 而服务器没有为我的特定计算机访问设置它 我需要与某人交谈并调整服务器配置文件的权限 这就是真正发生的事情 我无法弄清楚 因为我认为 CORS
  • 在AJAX(XMLHttpRequest)中使用eventListener还是readyStateChange更好?

    我正在重新观看 WWDC12 上有关 HTML5 高级效果的视频 并注意到他们在演示中使用了req addEventListener load callback true 而不是平常的onreadystatechange load事件和lo
  • 两个 $.post 请求一个接一个。第二个 $.post 请求未执行

    我有一个 javascript 函数 其中有两个 post 请求 两个 post 请求都应该被执行 但有时 第二个 post 请求不会被执行 这可能是什么原因 post 是 ajax 结构的缩写形式 我通常更喜欢使用 ajax 结构因为 更
  • 以编程方式操作 DOM 元素值不会触发 onchange 事件

    我有一个隐藏的表单字段 当按下按钮时 隐藏字段的值就会改变 现在 我已向隐藏字段添加了一个观察者 监听发生的变化 但由于某种原因 即使隐藏元素的值发生变化 事件侦听器也永远不会启动 我正在使用 Prototype 和 Firefox 3 6
  • 使用 Python 从基于 AJAX 的网站提取信息

    我正在尝试使用 Python 检索基于 ajax 的网站 例如 www snapbird org 上的查询结果 由于它没有显示在页面源中 我不确定如何继续 我是一个Python新手 因此如果我能得到一个指向正确方向的指针那就太好了 如果更容
  • WordPress admin-ajax.php 400 错误请求

    我的 WordPress admin ajax php 文件有一个奇怪且令人沮丧的行为 当我发出 ajax 请求时 它返回 400 错误错误请求 function var ajaxscript ajax url mydomain com w
  • 如何在 gridview 内添加级联下拉菜单以进行编辑?

    我有一个相当标准的 ASP NET GridView 它显示具有父子关系的 2 列 尽管数据库中存在 A 列和 B 列之间的关系 但 GridView 并未实现它 我想做以下事情 当用户选择编辑该行时 将显示 2 个下拉菜单 DropDow
  • 带有 ajax 提交处理程序的 jquery 验证插件不起作用

    在过去的几天里 我已经多次使用了 jquery 验证插件 但尚未将其与 ajax 提交一起使用 我所拥有的在下面被削减为两个字段 提交时值没有错误 单击提交按钮时不会发生任何提交 它只是什么都不做 HTML
  • 如何跨页面播放背景音乐

    我已经读过这个问题 我知道它只能用框架来完成 我真的不想要全站点 AJAX 如何在多个 HTML 页面上播放背景音频 https stackoverflow com questions 4210370 how to play a backg
  • 有没有办法从 javascript 中的子函数调用父函数的 Return ?

    我遇到了一个非常特殊的案例 我想要return一些数据 通过ajax下载的数据 到目前为止 异步和同步模式无法及时获取数据return 我可以打电话吗return从子函数到父函数或者超时可以解决问题吗 我想不出另一种方法来做到这一点 但数据
  • 使用 javascript 而非 jQuery 的简单 ajax 表单

    我正在使用一个表单 其标记我无法更改且无法使用 jQuery 目前 该表单将结果发布到新窗口 是否可以将其更改为 ajax 表单 以便在提交时显示结果而不更改任何标记 将结果 标记 从结果页面拉回到表单页面 这是表单的标记
  • C# 4.0 动态对象和 WinAPI 接口,如 IShellItem(无需在 C# 源代码中定义它们)

    是否可以 使用 C 4 0 中的新动态关键字 使用接口 如 IShellItem 或其他 WinAPI 接口 而无需在 C 源代码中定义它们 或者至少不定义接口成员 我正在尝试类似的事情 const string IShellItemGui
  • Prototype 中 JQuery 的 getScript 等效项

    Prototype 中是否有相当于 jQuery 的 getScript 的东西 var head var script head head 0 if head script new Element script type text jav
  • 如何添加动态片段选项卡项

    我想添加动态选项卡项目 我有一个片段 它是 FragmentOne 它有一个 TextView 我正在尝试在 foreach 中创建 FragmentOne 并添加到选项卡 我测试了 setupViewPager 中的代码 但它不起作用 如
  • 为什么 JSON 结果可以是布尔值而不是对象或数组?

    From JSON 网站 http json org JSON 建立在两种结构之上 名称 值对的集合 在各种语言中 这被实现为对象 记录 结构 字典 哈希表 键控列表或关联数组 值的有序列表 在大多数语言中 这被实现为数组 向量 列表或序列
  • Spring-roo REST JSON 控制器损坏日期字段

    我有一个以两种方式使用的数据实体 我在页面加载时用其中的一些数据填充表格 当您单击该列的一行时 我通过 AJAX 获取该项目的详细信息并将其显示在表单字段中 我在服务器端使用 Spring Roo 生成的 REST 端点 在客户端使用 Ba
  • 将多个对象传递给我的控制器

    我将一个对象传递给我的控制器 如下所示 var form JSON stringify subRevisedRequest frmRevised val subSubcontractor frmSubcontractor val subDe
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable

随机推荐

  • 插件 videoPlayer PhoneGap 不起作用

    我使用 cordova 2 9 0 并且安装了 videoPlayer 插件 https github com macdonst VideoPlayer 我在 config xml 中添加了插件 并在声明 cordova js 后在 ind
  • com.ibm.mq.MQException:MQJE001:完成代码“2”,原因“2035”

    我正在构建一个应该能够连接到 IBM WebSphere MQ 队列管理器的 Java 应用程序 但我不明白为什么我不断收到此错误 我已经使用我的用户 ID 拥有管理权限setmqaut通过 MQ 资源管理器 我还定义了MCAUSER在我的
  • 在for循环中读取csv文件并分配数据框名称[重复]

    这个问题在这里已经有答案了 可能的重复 将多个 CSV 文件读取到单独的数据框中 我需要将多个 csv 文件从一个文件夹读入数据帧 csv 文件名的格式为fxpair yyyy mm csv 例如 AUDJPY 2009 05 csv 我想
  • 单例对于微博网站来说是一个好的设计模式吗?

    我过去在项目中没有使用过任何 OO 因为我让它更简单 实际上使用古老的 mysql query 调用和我自己的过滤 所以我想开始一个新项目 学习在我的 OO 中使用设计模式 我想建立一个微博网站来娱乐一下 然后发现单例设计模式类看起来很完整
  • 未显示 Azure Web App/虚拟目录上的节点应用程序

    我已经找到一篇文章 但没有与当前 Azure Web App 配置选项匹配的文章 我想新版本中有些东西发生了变化 我正在尝试通过 Azure Web App 和 Linux 应用服务计划托管节点应用程序 我的问题是 我的节点应用程序的内容没
  • Google Maps API,所有标记打开相同的信息窗口

    我有一个页面 可以检索一堆位置和一些有关其关联标记的数据 并将它们放在 Google 地图上 单击时 每个按钮都会弹出自己的小消息 但是 单击其中任何一个都会在最近添加的标记处弹出最近添加的消息 是什么赋予了 我没有正确编写点击事件脚本吗
  • 可可 NSView 模糊背景

    我知道可以在 Cocoa 中创建透明窗口 尽管可以模糊其后面的内容吗 我知道有过类似的问题 但它们处理的内容更加模糊实际 NSView 中的内容 而不是其背后的内容 这是否可能 如果可以 我需要研究什么方法 Possible Impossi
  • Math ML 的 .NET 组件,可以编辑公式,将其呈现为图像

    目前最受欢迎的组件 MathML Net 无法下载 我想知道是否有其他 Net 组件可以帮助解决此问题 可以编辑公式 将其渲染为图像 I found g分子 就在不久前 它应该呈现 MathML 并且它是用 C 为 Winforms 编写的
  • 使用 R 3.6.0 编译 stan 文件时出错。和赢10

    Error in compileCode f code language language verbose verbose Compilation ERROR function s method s not created Error in
  • 将组件放置在玻璃板上

    我有一个 JLabel 的子类 它构成了我的 GUI 的一个组件 我已经实现了将组件从一个容器拖放到另一个容器的功能 但没有任何视觉效果 我想让这个 JLabel 在将项目从一个容器拖动到另一个容器时跟随光标 我想我可以创建一个玻璃板并在上
  • 禁用iOS弹性体滚动并保持本机滚动工作[重复]

    这个问题在这里已经有答案了 我目前正在开发一个针对触摸设备 主要是 iOS 进行优化的单页 Web 应用程序 我已经通过以下方式实现了新的 iOS 原生滚动 webkit overflow scrolling touch 一切运行良好 除了
  • Powershell 数组扁平化是如何工作的?

    请注意 C gt x 1 C gt x x 2 C gt x x 3 C gt x x 4 C gt x x 5 C gt x Length 2 C gt x Length 3 C gt x Length 2 LongLength 2 Ra
  • 如何在c#中导出注册表

    我一直在尝试将注册表文件导出并保存到任意位置 代码正在运行 但是 在指定路径并保存时 该功能不起作用 并且不会导出任何注册表 也没有显示错误 private static void Export string exportPath stri
  • git 子模块检查相同的提交

    After I git submodule update它总是检查相同的提交 例如34561 I do git checkout master对于子模块 然后git submodule sync 然后它指向最新的提交a2344 但是之后up
  • 在哪里可以查看 TensorFlow 梯度下降主循环?

    抱歉 如果这听起来有点天真 我想看看里面的肉TensorFlowGradientDescent 的实现 亲自看看它们如何处理终止条件 步长自适应性等 我追踪了代码training ops apply gradient descent但我找不
  • 不可变对象的名称如何重新绑定到增强赋值的结果?

    不可变对象的名称如何重新绑定到增强赋值的结果 对于可变对象 例如 如果x 1 2 3 并且 y 4 5 那么当我们执行 x y 时 它的执行方式为x iadd y 它修改了x in place并做了名字x再次重新绑定到它 它是如何工作的x是
  • 比“尝试”和“例外”更快的方法? - Python

    我经常将代码写成如下 try self title item title content string except AttributeError e self title None 有没有更快的方法来处理这个问题 一行 您遇到了哪些例外情
  • 在jspdf中添加自定义字体

    我想在 jsPDF 中使用自定义字体 例如 Comic Sans MS 或 Calibri 字体 我发现了类似的问题here 但我的不工作 我已经添加了最新的jspdf 我的代码如下 var doc new jsPDF p mm a4 do
  • swt表改变选择项颜色

    我正在使用一个标准的 swt 表 您可能知道 默认情况下 选择一个项目时颜色为蓝色 Windows 标准 当选择处于非活动状态时 它会变成浅灰色 我想覆盖这两种颜色 我在整个网络上进行了搜索 但只能找到一些非常旧的代码 这些代码似乎不再适用
  • PrototypeJS:如何选择动态创建的元素?

    该网站使用 Prototype JS 库 页面加载后 它立即执行 Ajax 请求 该请求会拉出并显示页面的更多元素 我需要能够选择那些动态创建的元素并将它们隐藏 hide method 我尝试使用选择并隐藏它们document observ