Javascript 在文档准备就绪之前是否可以进行一些客户端DOM操作?

Javascript 在文档准备就绪之前是否可以进行一些客户端DOM操作?,javascript,jquery,dom,googlebot,google-rich-snippets,Javascript,Jquery,Dom,Googlebot,Google Rich Snippets,我试图找到一种方法(如果可能的话)在渲染时和DOM完全加载之前使用javascript向元素添加一些属性。我知道,这听起来适得其反,但让我告诉你一些背景: 我在一个非常有限的模板平台上工作,该平台允许我访问一些页面变量,但它们需要一些较小的字符串操作。我无法利用任何ASP预处理,因此必须在客户端进行 具体地说,我试图在Googlebot扫描文档内容之前将Schema.org微数据标记添加到元素中 基本上,我需要将属性值从$5.99修改为5.99 下面是我最近的一次尝试,它正确地修改了DOM,

我试图找到一种方法(如果可能的话)在渲染时和DOM完全加载之前使用javascript向元素添加一些属性。我知道,这听起来适得其反,但让我告诉你一些背景:

  • 我在一个非常有限的模板平台上工作,该平台允许我访问一些页面变量,但它们需要一些较小的字符串操作。我无法利用任何ASP预处理,因此必须在客户端进行
  • 具体地说,我试图在Googlebot扫描文档内容之前将Schema.org微数据标记添加到元素中
  • 基本上,我需要将属性值从
    $5.99
    修改为
    5.99
下面是我最近的一次尝试,它正确地修改了DOM,但不是在Google的富代码段验证程序处理页面之前:

<div class="pitinfo"><div class="padleft padright"><%Product.BasePrice%></div></div>

<!-- at page bottom -->
<script type="text/javascript">
    (function() {
        var pricesting = "<%Product.BasePrice%>";
        var price =  pricesting.slice(1);
        $('.pitinfo').attr('itemprop', 'price');
        $('.pitinfo').attr('content', price);
    })();
</script>

(功能(){
var pricesting=“”;
var价格=价格区间(1);
$('.pitinfo').attr('itemprop','price');
$('.pitinfo').attr('content',price);
})();
加载后,我得到了这个
$9.99
,但是富代码段测试工具告诉我
价格未设置

我已经尝试在我的模板代码中使用ASP,但托管提供商不允许


是否有可能在文档呈现流程中间进行DOM修改?

< P> >可以在代码< > /代码>中插入<代码> <代码>标签。标记内部的JavaScript在其后面的HTML之前加载,因此您可以在加载其余HTML/JS之前编辑元素的值
例如:

<body>
    <div id="element" value="$5.99"></div>
    <script>
        var element = document.getElementById("element")
        element.value = 5.99;
    </script>
</body>

var element=document.getElementById(“元素”)
element.value=5.99;

您可以查看它

好奇为什么不做这个服务器端?@charlietfl这是不可能的。我被困在一个不允许直接访问ASP的黑盒模板引擎中。可能是富代码片段api只审查服务器源代码中的内容,而不等待javascript更新。或者它需要某种元标记来告诉它首先运行javascript。如果是后者,您可能无法使用Google搜索控制台URL检查工具修改服务器端测试的标题,该工具现在报告产品标记,并以与Google机器人相同的方式呈现页面。我敢打赌你的编辑在那里是有效的。@TonyMcCreath,成功了!我没有意识到富代码片段测试工具的功能与搜索控制台URL检查器的功能不同。