jQuery找不到某些元素,即使它们在那里

困惑的人

我将以下HTML代码存储为变量:

<body>
    <div>
        <table>
            <field id='Contact Name' required>
                <exists>$value<br></exists>
                <notexists></notexists>
            </field>
            <field id='Job Role' required>
                <exists>$value<br></exists>
                <notexists></notexists>
            </field>
        </table>
    </div>
</body>

</html>

现在,我想做的是访问此代码,并根据表单中的输入更改每个字段的$ value值,然后在iFrame中呈现最终的html。

这是我用来执行此操作的JavaScript代码:

function renderTemplate() {
    var template = $(selectedTemplate.html).contents(); //HTML code I have given above.
    $("input").each(function(index, input) {
        var element = $(input); //<input type="text" ref="Contact Name">
        if (element.attr("ref")) {
            var reference = element.attr("ref");
            var field = template.find("field[id='" + reference + "']");
            if (typeof(field) != undefined) {
                var exists = field.find("exists");
                var notExists = field.find("notexists");
                if (typeof(exists) != undefined && typeof(notexists) != undefined) {
                    if (element.val()) {
                        exists.html(exists.html().replace("$value", element.val()));
                    } else {
                        exists.html(notExists.html());
                    }
                    $('#signaturePreview').contents().find('html').html(template.html());
                }
            }
        }
    });
}

现在,无论出于何种原因,它都无法使用我提供的选择器来查找字段。

我使用chrome控制台进行了一些测试,即使使用,它也根本找不到任何字段:

template.find("field") // Gives 0 results.
自由度

$("#..").contents().find("..")将始终返回空数组,请勿使用.contents,即:

var template = $(selectedTemplate.html);

要解决其他一些问题:

ID中的1个空格不是有效的HTML,但是您可以使用[id= https://stackoverflow.com/a/701958/2181514进行选择

2 jQuery.find将返回一个空数组[],而不是undefined在找不到任何匹配项时返回。您将正常检查长度,例如:

var items = $("body").find("li.item");
if (items.length > 0) {
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

'ld:找不到用于建筑的符号???' 即使在那里

来自分类Dev

Android NDK链接V8静态库:找不到符号,但它们在那里

来自分类Dev

为什么libnettle 2.7.1的.configure找不到-lgmp,即使它在那里?

来自分类Dev

找不到类型或名称空间,但在那里

来自分类Dev

Discord PHP OAUTH - 在那里找不到类

来自分类Dev

cli 找不到就在那里的文件夹

来自分类Dev

Inno 安装程序抛出错误“找不到匹配的文件”即使是艰难的文件也在那里

来自分类Dev

jQuery:缩小以居中并留在那里

来自分类Dev

PWA:清单在那里,但是Chrome说“找不到清单”吗?

来自分类Dev

“找不到具有ID的列”,但该列在那里

来自分类Dev

Django找不到我的基本模板,但是它在那里

来自分类Dev

在配置文件中找不到连接字符串。但它在那里

来自分类Dev

尝试Link_to_Asset(Laravel)找不到文件(但它在那里)

来自分类Dev

为什么vim有时显示^ M而有时不显示(即使它们在那里)?

来自分类Dev

为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

来自分类Dev

即使UINavigation栏在那里,UIViewController的内容也不会显示

来自分类Dev

MSVCR100.dll丢失错误,即使在那里

来自分类Dev

为什么我断言元素包含某个字符串失败,即使它在那里?

来自分类Dev

找不到路径C#asp.net的一部分,路径在那里

来自分类Dev

当地的apt-mirror说找不到发布,但是在那里,我想念的是什么

来自分类Dev

.remove()之后元素还在那里吗?

来自分类Dev

cmake和Qt5:qmake将QT_INSTALL_LIBS报告为XXX,但在那里找不到QtCore

来自分类Dev

Sass失败-参数数量错误...但是它们在那里

来自分类Dev

Cookie在那里,但我无法在CodeIgniter中获得它们。为什么?

来自分类Dev

如何使用 mottie 键盘输入美分并将它们保留在那里?

来自分类Dev

丢失的 ”;” 在标识符“名称”之前,即使它在那里

来自分类Dev

失踪 ”;” 在标识符“名称”之前,即使它在那里

来自分类Dev

猫鼬 findOne 不提供文档,即使它在那里

来自分类Dev

Python / Selenium-通过xpath查找元素-元素在那里,但未找到

Related 相关文章

  1. 1

    'ld:找不到用于建筑的符号???' 即使在那里

  2. 2

    Android NDK链接V8静态库:找不到符号,但它们在那里

  3. 3

    为什么libnettle 2.7.1的.configure找不到-lgmp,即使它在那里?

  4. 4

    找不到类型或名称空间,但在那里

  5. 5

    Discord PHP OAUTH - 在那里找不到类

  6. 6

    cli 找不到就在那里的文件夹

  7. 7

    Inno 安装程序抛出错误“找不到匹配的文件”即使是艰难的文件也在那里

  8. 8

    jQuery:缩小以居中并留在那里

  9. 9

    PWA:清单在那里,但是Chrome说“找不到清单”吗?

  10. 10

    “找不到具有ID的列”,但该列在那里

  11. 11

    Django找不到我的基本模板,但是它在那里

  12. 12

    在配置文件中找不到连接字符串。但它在那里

  13. 13

    尝试Link_to_Asset(Laravel)找不到文件(但它在那里)

  14. 14

    为什么vim有时显示^ M而有时不显示(即使它们在那里)?

  15. 15

    为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

  16. 16

    即使UINavigation栏在那里,UIViewController的内容也不会显示

  17. 17

    MSVCR100.dll丢失错误,即使在那里

  18. 18

    为什么我断言元素包含某个字符串失败,即使它在那里?

  19. 19

    找不到路径C#asp.net的一部分,路径在那里

  20. 20

    当地的apt-mirror说找不到发布,但是在那里,我想念的是什么

  21. 21

    .remove()之后元素还在那里吗?

  22. 22

    cmake和Qt5:qmake将QT_INSTALL_LIBS报告为XXX,但在那里找不到QtCore

  23. 23

    Sass失败-参数数量错误...但是它们在那里

  24. 24

    Cookie在那里,但我无法在CodeIgniter中获得它们。为什么?

  25. 25

    如何使用 mottie 键盘输入美分并将它们保留在那里?

  26. 26

    丢失的 ”;” 在标识符“名称”之前,即使它在那里

  27. 27

    失踪 ”;” 在标识符“名称”之前,即使它在那里

  28. 28

    猫鼬 findOne 不提供文档,即使它在那里

  29. 29

    Python / Selenium-通过xpath查找元素-元素在那里,但未找到

热门标签

归档