javascript document.createTextNode 在 java 脚本中返回 <p> </p>

Posted

技术标签:

【中文标题】javascript document.createTextNode 在 java 脚本中返回 <p> </p>【英文标题】:javascript document.createTextNode Returns <p>&nbsp;</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>

但是当我检查时,我看到有一个

&lt;p&gt;

用“&nbsp”填充的标签。 即使我将值设置为“OK”,输出仍然是一样的。

【问题讨论】:

.entry-content 元素是否不止一个?如果不是,你应该使用 querySelector,如果是,你有更多的问题。 那么getUrlParameter('message') 会返回什么? 现代 javascriptconst 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>的主要内容,如果未能解决你的问题,请参考以下文章

为啥 button.click() 在我的脚本中不起作用?

原生JS与jQuery操作DOM对比

点击下载书签的实现

点击下载书签的实现

淘宝叠猫猫全自动浏览四十店铺撸1万二猫币

有人可以帮我理解appendChild方法实际发生了什么吗?