我如何从这个 HTML 中获取价值?

How Do I Capture The Value From This HTML?

我对 javascript 和一般编码还很陌生,我正在尝试从确认页面上的隐藏 div 中获取订单号值。

有人能帮帮我吗?我想这会很简单。这是我的代码:

我正在将其添加到 Google 跟踪代码管理器,以便我可以将订单 ID 发送回广告平台。

<!DOCTYPE html>
    <div id="zGTMOrderData">
            <input name="M$M$zGTMOrderData_OrderNumber" type="hidden" id="M_M_zGTMOrderData_OrderNumber" value="27664425">
        </div>
    

     <script>
     var getOrderNumber = function() {
     document.getElementById("M_M_zGTMOrderData_OrderNumber").value;
     </script>
var getOrderNumber = function() { // your function is not closed
  const inputValue = document.getElementById("M_M_zGTMOrderData_OrderNumber").value;
  // have fun with inputValue
} // close the function

document.getElementById("M_M_zGTMOrderData_OrderNumber").value;

在行首添加 return 关键字,使其成为函数的 return 值。

您实际上可以采用 3 种通用方法:

return计算值

var getOrderNumber = function() {
     return document.getElementById("M_M_zGTMOrderData_OrderNumber").value;

直接赋值(如果你只需要给变量赋值,现在真的不需要函数)

var getOrderNumber = document.getElementById("M_M_zGTMOrderData_OrderNumber").value;

在函数的外部范围内赋值给一个变量

var orderNumber = null;
getOrderNumber = function() {
orderNumber = document.getElementById("M_M_zGTMOrderData_OrderNumber").value;
}
getOrderNumber()
// now orderNumber stores the computed value

如果您使用的是 GTM,则不应自定义 JavaScript(这违背了使用 GTM 的目的)。相反,转到“变量”,单击“新建”,单击“变量类型”,然后从列表中选择 select“DOM 元素”。确保“选择方法”设置为“ID”并输入元素的 ID。

该值仅适用于在呈现元素后触发的标记,因此带有“DOM Ready”的触发器是一个不错的选择(但您对自定义脚本有同样的警告)。

DOM 变量类型默认为 return 元素的 innerText(或值,在表单字段的情况下)。您还可以输入属性名称,在这种情况下,变量将 return 属性的值。

此外,如果您坚持自定义 Javascript,您仍然需要使用 GTM 设置一个变量来捕获该值,因此使用 built-in 可以节省您的步骤。