我正在尝试找到一种方法(如果可能),以便在渲染时以及在DOM完全加载之前,使用javascript向元素添加一些属性。我知道,这听起来适得其反,但让我给您提供一些背景知识:
$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>
加载后我得到了这个<div class="pitinfo" itemprop="price" content="9.99">$9.99</div>
,但是Rich Snippet Testing工具告诉我price
尚未设置。
我已经尝试在模板代码中使用ASP,但是托管服务提供商不允许。
是否有可能在文档呈现流程的中间进行DOM修改?
答案 0 :(得分:0)
可以在<script>
内插入<body>
标签。标签内的JavaScript在加载HTML之前先加载,因此您可以在加载HTML / JS的其余部分之前编辑元素的值。
例如:
<body>
<div id="element" value="$5.99"></div>
<script>
var element = document.getElementById("element")
element.value = 5.99;
</script>
</body>
您可以签出here