首先,对不起,我对javascript不好。
HTML:
<div id="Comment-ID">
<p class="comment-content">...</p>
</div>
javascript :(编辑:添加了整个代码)
<script type='text/javascript'>
function autoloadmore() {
var loadmoreClass = document.getElementsByClassName("loadmore")[0];
var loadmoreChild = loadmoreClass.querySelector('a')
if (loadmoreClass) {
loadmoreChild.click();
}
}
//<![CDATA[
function InsertarImagenVideo(id) {
var IDelemento = document.getElementById(id),
sustituir = IDelemento.innerHTML;
sustituir = sustituir.replace(/\[img\](.[^\]]*)\[\/img\]/ig, "<img class='img-comentarios' src='$1'\/>");
document.getElementById(id).innerHTML = sustituir;
}
//]]>
window.onload = function() {
autoloadmore();
setTimeout(function(){
InsertarImagenVideo('Comment-ID');
},3000);
};
</script>
“ InsertarImagenVideo”用图像替换其中的一些文本。与其在“ Comment-ID”上使用它,不如在“ Comment-class”上使用它。
注意:我无法编辑HTML。
搜索时我找不到任何东西,或者也许我不知道该怎么看。有人可以帮我吗?
答案 0 :(得分:0)
您可以使用document.querySelector按类别选择元素:
更新此行:
var IDelemento = document.getElementById(id),
到var IDelemento = document.querySelector(id),
并将类selector传递给方法InsertarImagenVideo
setTimeout(function(){
InsertarImagenVideo('.comment-content');
},3000);
答案 1 :(得分:0)
我找到了一种简单的方法,即通过抓住父<p class="comment-content">...</p>
将图像插入<div id="Comment-ID">
元素。
我假设您需要获取唯一的id
才能访问内部的<p>
元素以将现有文本替换为图像。此代码捕获唯一的id
元素,然后使用<p>
捕获第一个.getElementsByTagName('p')[0]
标签。我添加的一件事是正确的图像加载脚本,以在图像加载后用图像更新<p>
标签(也许这消除了对您拥有的setTimeout
函数的需要?)。
let classElement = document.getElementById("Comment-ID").getElementsByTagName('p')[0];
let imageObject = new Image();
imageObject.src = `https://www.clipartmax.com/png/full/1-14442_smiley-face-png-smiley-png.png`;
imageObject.onload = function() {
classElement.innerHTML = `<img id="myImg" src="${imageObject.src}" />`;
let imageElement = document.getElementById(`myImg`);
imageElement.width = 100;
imageElement.height = 100;
};
这是运行中的上层代码的JSFiddle demo。
希望这会有所帮助:)