javascript - 为什么我无法通过 id 属性识别该元素?

标签 javascript

我有这个元素,它是由 mcssl 结账表单自动生成的。这是一个自定义字段。我正在尝试使用 javascript 来选择它,如下所示:

var form_field_gclid = document.getElementById("#ctl00_ctl00_mainContent_scPageContent_customFieldsControl_customFieldsRepeater_ctl00_customFieldTextBox");; 
       console.log(form_field_gclid);
<input name="ctl00$ctl00$mainContent$scPageContent$customFieldsControl$customFieldsRepeater$ctl00$customFieldTextBox" type="text" maxlength="200" size="50" id="ctl00_ctl00_mainContent_scPageContent_customFieldsControl_customFieldsRepeater_ctl00_customFieldTextBox" class="text">

但我得到 null因此。我也尝试过,document.querySelectorAll(...);但结果相同。当我从控制台尝试它时它可以工作,但我想知道为什么如果它在页面 javascript 上它就不起作用。任何想法,将不胜感激。谢谢。

我尝试去掉#号,但结果相同。

<script type="text/javascript">
(function() {
   
  var form_field_test = document.getElementById("ctl00_ctl00_mainContent_scPageContent_customFieldsControl_customFieldsRepeater_ctl00_customFieldTextBox");; 
   console.log(form_field_test);
}());
</script>

这是我正在使用的完整脚本。

最佳答案

您在调用 document.getElementById 时不需要使用 #。只需将其删除即可。

var form_field_gclid = document.getElementById("ctl00_ctl00_mainContent_scPageContent_customFieldsControl_customFieldsRepeater_ctl00_customFieldTextBox");

但是,如果您使用 jQuery,则需要它:

var myElement = $('#myElementId');

但是由于您使用的是普通 JS,只需将元素的 id 作为字符串传递即可。

关于javascript - 为什么我无法通过 id 属性识别该元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51844779/

相关文章:

.net - <%= session 超时 * 19 * 1000 %>

javascript - 表单输入到 javascript 到 php

javascript - Ionic Windows 应用程序崩溃模拟器

javascript - 如何禁用ajax引起的下拉列表值更改?

javascript - 使用绑定(bind)传递值

javascript - 无法使用 express Node 设置 ssl

javascript - MooTools JSON 请求

javascript - 解构对象内数组内的对象

javascript - Raphael 和集合内的目标节点

javascript - 延迟显示更改为无