jQuery:如何从加载回调中修改加载的内容

2024-01-12

我正在动态创建许多 div 元素(行)。每行都将具有相同的基本格式,仅文本发生变化。由于行结构很复杂,我尝试从静态 html 文件加载“基本”div,然后加载后,使用每行的参数调整一些属性。 (类似于 Android 的 xml 定义的适配器)。我正在使用 jQuery 和 jQuery Mobile。

我多次调用此函数(每行一次)。在每次调用时我作为参数传递params对象,包含该行的数据,以及一个新创建的 div 元素(使用document.createElement("div")):

    function loadRow(params, div){  
        var $div = $(div);        

        $div.load("some_page.html [data-custom-role=row]", function(){
            //FIXME Throws error: object is not a function!!
            var nameElement = $div("[data-custom-role=name]");
            nameElement.text(params.name);
        });
    }


此代码在 FIXME 注释下方的第一行中引发此错误:

Uncaught type Error: object is not a function


源 html 文件 (some_page.html) 的(简化)内容:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="ISO-8859-1"> 
        </head>
        <body>
            <div data-custom-role="row">
                <p data-custom-role="name"></p>
            </div>
        </body>
    </html>

我想做的是选择新加载的 div 内的“p”元素,并设置文本内容。我无法使用 id 来标识“p”元素,因为稍后我会将所有行注入到页面中,并且不能存在 2 个具有相同 id 的元素。这就是为什么我需要使用属性作为选择器,但由于会同时加载许多行,因此我需要确保只调整正在加载的 div 内的“p”元素,而不是其他行分区。我以为变量$div因为创建了一个闭包,所以在回调中可用。

我究竟做错了什么?如何查询和修改回调中加载的内容?

提前致谢。


您正在引用包含函数但不是函数的 DOM 元素。

你不能使用$div(),你需要使用对象的函数.find()在您的情况下查找具有该属性的元素data-custom-role=name

Try :

   function loadRow(params, div){  
        var $div = $(div);        

        $div.load("some_page.html [data-custom-role=row]", function(){
            $div.find("[data-custom-role=name]").html(params.name);
        });
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery:如何从加载回调中修改加载的内容 的相关文章

随机推荐

  • 在 c++11 和 c++98 的单一构建中使用 cmake 2.8.2 来创建共享库时,如何每次重新编译源文件?

    我的项目目录结构为 Root Source Common MyFolder My 3 source files and header 当我构建项目时 它会生成 3 到 4 个共享库 Lib1使用 c 98 编译 其他使用 c 11 编译 标
  • 自定义配置文件不适用于表单验证

    我已经在 application config validation rules php 中设置了验证规则 它看起来像这样 简洁版本 config array member register gt array field gt langua
  • AOSP x86_64 模拟器在 Android Studio 中不可见

    我正在使用 AOSP 模拟器来测试我的代码 我在我的电脑上下载了AOSP的android10 release源代码 然后使用以下命令 source build envsetup sh set stuff for environment lu
  • 构建多模块 Mercury 程序

    问 构建双模块汞计划的简单模板是什么 Module 1 定义并导出一个简单的函数或谓词 Module 2 导入函数 谓词来计算有用的结果并输出结果 我将使用以下方法 首先使用以下方法定义模块 您要导出的函数或谓词或谓词 接口部分 File
  • ECMAScript 6 类析构函数

    我知道 ECMAScript 6 有构造函数 但是 ECMAScript 6 是否有析构函数之类的东西 例如 如果我在构造函数中将对象的某些方法注册为事件侦听器 我想在删除对象时删除它们 一种解决方案是制定一个约定 创建一个destruct
  • 如何将 char 数组转换为 int? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 所以输入文件如下所示 Adam Zeller 45231 78 86 91 64 90 76 Barbara Young 274253 88
  • 在正则表达式中指定 Unicode 字符

    如何创建包含 unicode 字符的 ruby 正则表达式 例如 我想在正则表达式中使用字符 u0002 你可以写 x02 u0002 x02 gt 0 如果您不确定 您可以从字符串开始 Regexp new u0002 gt x02 这是
  • 在 R 中安全地创建 S3 泛型

    Henrik Bengtsson 为互联网提供了一种很好的方式在 R 中创建 S3 泛型 http www1 maths lth se help R setGenericS3 不必担心它们是否已经在 2002 年之前创建过 他的函数 set
  • 指针类型静态字段的值被调试器显示为零 0x0,而实际上它具有有效值

    我在尝试使用类型访问结构体静态字段的值时遇到了这种行为uint 调试时 监视窗口显示静态字段StaticBitMask的值为零 但实际上 并且如预期的那样 它是一个有效的指针 并且Console WriteLine 打印它 如下面的控制台输
  • 控制配置设置 Apache Spark UTF 编码以写入为 saveAsTextFile

    那么如何告诉spark在使用时使用哪种UTFsaveAsTextFile path 当然 如果知道所有字符串都是 UTF 8 那么它将节省 2 倍的磁盘空间 假设像java一样默认UTF是16 saveAsTextFile实际上使用Text
  • MSVC:为什么“extern void x;”是“非法使用类型'void'”吗?

    为什么这段代码 extern void x 导致 cl t555 c std c11 Za t555 c 1 error C2182 x illegal use of type void 这里什么是非法的 UPD 使用案例 cat t555
  • IOS - 如何重新签名 ipa 文件?

    我尝试重新签署 ipa 文件 但遇到一些问题 我存档了该项目并将其导出以进行临时部署 然后按照本教程进行操作 https sholtz9421 wordpress com 2012 06 08 digitally resigning ipa
  • 未检测到 VS 代码 venv (WSL)

    我最近切换到 WSL Ubuntu 现在 当我使用创建虚拟环境时 python m venv venv VS Code 中不会自动检测到它 我的设置 json python pythonPath C Users ankus AppData
  • iOS 设置屏幕用户界面

    我正在尝试在我的应用程序中创建一个设置屏幕 就像 iPhone 内部存在的设置一样 单击设置时 我们会看到带有圆形边缘的不同部分 全是白色 一些选项带有箭头 一些是开 关按钮 苹果是如何实现这一目标的呢 是不是一个UITableView 有
  • 在 Laravel 中将数组转换为集合

    我在 PHP 中有以下数组 website example url example com website example url example com 现在我想将其转换为集合 因此我按键排序website or url 但是当我这样做时
  • 使用 TensorFlow 进行多标签文本分类

    文本数据被组织为具有 20 000 个元素的向量 例如 2 1 0 0 5 0 第 i 个元素表示文本中第 i 个单词的频率 真实标签数据也表示为具有 4 000 个元素的向量 例如 0 0 1 0 1 0 第 i 个元素指示第 i 个标签
  • SQL 全外连接

    我正在尝试编写一个连接语句将以下三个数据集连接在一起 这是使用 MS SQL Server Set 1 ID Date Col1 1 Jan 11 a1 1 Jan 13 a2 Set 2 ID Date Col2 1 Jan 11 b1
  • 如何使 div 的高度固定,但如果内容大于高度,则 div 会增长?

    假设我有一个我设置的 divheight 500px 在CSS中 因此它的高度是固定的 我的页面内容是用 JavaScript 自动生成的 因此有时它会大于 500px 并且会溢出 div 边框 我的问题是 是否可以有固定的大小 例如 50
  • 如何使用自定义密钥编写 MifareClassic

    我需要找到一个解决方案来使用自定义密钥编写 Mifare Classic 1 K 标签 我无法编写它 我已经尝试了每个选项 但不幸的是我总是收到错误 IOException 收发失败 下面是我的代码片段 byte custom key by
  • jQuery:如何从加载回调中修改加载的内容

    我正在动态创建许多 div 元素 行 每行都将具有相同的基本格式 仅文本发生变化 由于行结构很复杂 我尝试从静态 html 文件加载 基本 div 然后加载后 使用每行的参数调整一些属性 类似于 Android 的 xml 定义的适配器 我