基于服务器变量使用javascript更改div的值
我有以下从web服务器加载字符串的div:基于服务器变量使用javascript更改div的值,javascript,html,parse-platform,Javascript,Html,Parse Platform,我有以下从web服务器加载字符串的div: <div id="productTitle" class="productType"><h2>{{productType}}</h2></div> 为什么这样不行?是否因为脚本是在“productType”变量加载到DOM之前执行的 为什么这个不行 因为innerHTML还包含一个标记,它将是您要比较的字符串的一部分 使用jQuery的解决方案文本(函数) 虽然我相信你可以这样做,但我认为这是一个糟糕
<div id="productTitle" class="productType"><h2>{{productType}}</h2></div>
为什么这样不行?是否因为脚本是在“productType”变量加载到DOM之前执行的
为什么这个不行
因为innerHTML还包含一个
标记,它将是您要比较的字符串的一部分
使用jQuery的解决方案
文本(函数)
虽然我相信你可以这样做,但我认为这是一个糟糕的做法,你也应该考虑:
- 创建一个新表字段以保存完整的“用户友好”标题
- 替换“{productType}}”的内容,请替换为正确的名称
您没有提到替换“{productType}}”的是什么,如果您提到,我可能会更好地帮助您。如果在最后一段代码中的if语句之前运行
console.log(d1.innerHTML)
,它会给您带来什么?为什么您不在{productType}}
中的服务器上执行此操作?我想我不清楚,我的问题是你如何用“衬衫,紧身裤”等替换productType?你是在用javascript替换它吗?
<script>
$( "div.productType" ).replaceWith( "<h2>American Apparel T-Shirt</h2>" );
</script>
function onbodyload(){
var d1 = document.getElementById('productTitle');
if(d1.innerHTML==='SHIRT'){
d1.innerHTML='American Apparel T-Shirt';
}
};
$(function(){
$( "#productTitle h2" ).text(function(_, existingText ){
switch (existingText ){
case 'SHIRT':
return 'American Apparel T-Shirt';
break;
// add other cases
default:
return existingText;
}
});
});