javascript document.createTextNode 在 java 脚本中返回 <p> </p>
Posted
技术标签:
【中文标题】javascript document.createTextNode 在 java 脚本中返回 <p> </p>【英文标题】:javascript document.createTextNode Returns <p> </p> in java scripts 【发布时间】:2021-10-24 16:55:19 【问题描述】:我想在 wordpress 页面的元素中显示一条消息(如果 url 中的参数“消息”有一个值)。为此我安装了“页眉和页脚脚本”插件。并将此代码写入“插入脚本到":
<script>
function getUrlParameter(name)
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
var results = regex.exec(location.search);
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
;
if(getUrlParameter('message'))
const para = document.createElement("p");
const node = document.createTextNode(getUrlParameter('message'));
para.appendChild(node);
const element = document.getElementsByClassName("entry-content");
document.querySelectorAll('.entry-content').forEach(element =>
element.appendChild(para);
)
</script>
但是当我检查时,我看到有一个
<p>
用“ ”填充的标签。 即使我将值设置为“OK”,输出仍然是一样的。
【问题讨论】:
.entry-content
元素是否不止一个?如果不是,你应该使用 querySelector,如果是,你有更多的问题。
那么getUrlParameter('message')
会返回什么?
现代 javascript。 const qs = new URLSearchParams(window.location.search); const message = qs.get('message');
不需要 reg exp
不,我只有一个“entry-content”元素。如何使用querySelector??
getUrlParameter('message') 返回一个波斯文本示例:ثبت%20انجام%20شد
【参考方案1】:
我在word press中使用了嵌入代码插件而不是“页眉和页脚脚本”插件。我的问题解决了。
<script>
const qs = new URLSearchParams(window.location.search);
const message = qs.get('message');
if(message )
const para = document.createElement("div");
const element = document.getElementsByClassName("entry-content");
para.setAttribute("id", "Div1");
document.querySelectorAll('.entry-content').forEach(element =>
element.appendChild(para);
);
para.style.backgroundColor ="#d4edda";
para.style.color="#155724";
para.style.bordercolor= "#c3e6cb";
para.style.padding=".75rem 1.25rem";
para.style.borderradius=".25rem";
para.textContent=message;
</script>
【讨论】:
以上是关于javascript document.createTextNode 在 java 脚本中返回 <p> </p>的主要内容,如果未能解决你的问题,请参考以下文章