Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查找网站加载后生成的输入值?_Javascript_Jquery_Meteor_Meteor Blaze_Codeceptjs - Fatal编程技术网

Javascript 如何查找网站加载后生成的输入值?

Javascript 如何查找网站加载后生成的输入值?,javascript,jquery,meteor,meteor-blaze,codeceptjs,Javascript,Jquery,Meteor,Meteor Blaze,Codeceptjs,我用meteor blaze构建了一个应用程序,现在我正尝试用CodeceptJS测试它。问题是,我所有的输入字段在DOM(F12模式)中都没有值,但我在浏览器中看到了值。在meteor中,我使用模板助手从我的MongoDB集合中读取它们,并将它们传递给blaze/spacebars。因此meteor使用JavaScript实时写入所有值(在网站完全加载/生成之后) 我有一个值为“codeceptjs”的输入字段。但是我在DOM中看不到它(chrome:F12模式)。它只向我展示了这一点: &l

我用meteor blaze构建了一个应用程序,现在我正尝试用CodeceptJS测试它。问题是,我所有的输入字段在DOM(F12模式)中都没有值,但我在浏览器中看到了值。在meteor中,我使用模板助手从我的MongoDB集合中读取它们,并将它们传递给blaze/spacebars。因此meteor使用JavaScript实时写入所有值(在网站完全加载/生成之后)

我有一个值为“codeceptjs”的输入字段。但是我在DOM中看不到它(chrome:F12模式)。它只向我展示了这一点:

<div class="input"><input data-title type="text" title="Todo Title"></div>

如何使用jQuery/codeceptjs访问实时输入值而不更改正在工作的应用程序?

我假设“实时”是指在网页(DOM)完成加载后添加值。如果是这种情况,则需要使用JQuery上下文选择器

    jQuery('input[value="codeceptjs"]', '.input').length

首先,我认为获取输入值的jQuery是错误的。如果输入框中的值更改为“codeceptjs”,那么jQuery选择器将找不到已更改的值。这就是为什么jQuery选择器的值为零。通过给输入一个id或名称值,可以更好地选择输入:

<div class="input"><input id="codeceptjs" type="text" title="My Title"></div>

jQuery('input[value=“codeceptjs”]”)
找不到任何内容,因为
input
元素没有具有该值的属性。我不确定访问“实时输入值”是什么意思,但
val()
prop('val')
应该满足您的需要。重要的是要理解更改值属性(通过代码或用户输入)不会更改值属性我知道我的元素在DOM中没有此属性。网页(DOM)完全加载后,Meteor在Blaze和JavaScript的帮助下更改所有值。我的应用程序就像一个todo应用程序,具有无限的输入字段(例如todo名称),可以实时重命名/更改和删除。我在浏览器中看到此字段具有此值。但是我的浏览器在F12模式下不显示这些值,因为它在DOM之后实时地重新生成这些值。一定有办法找到它们。每个新的mongodb文档都有一个ID,我在meteor中使用它。Meteor使用blaze呈现HTML,并在blaze和JavaScript的帮助下生成具有所有动态实时值的HTML。如果我能在浏览器中看到一个值,那么一定有办法用JQuery/JavaScript找到它们。我的应用程序就像一个todo应用程序,具有无限的输入字段,可以实时重命名/更改和删除。我需要一个不更改工作应用程序的解决方案。其他具有无限输入字段的meteor应用程序在DOM中不使用html id属性,因为您不需要它。是的,我相信meteor会在网页(DOM)完全加载后,在Blaze和JavaScript的帮助下更改所有值。我的应用程序就像一个todo应用程序,具有无限的输入字段(例如todo名称),可以实时重命名/更改和删除。使用您的解决方案,我仍然得到
0
,尽管我在浏览器中看到此字段具有此值。但我的浏览器在F12模式下不显示此值。
    jQuery('input[value="codeceptjs"]', '.input').length
<div class="input"><input id="codeceptjs" type="text" title="My Title"></div>
$('#codeceptjs').val().length;