我希望生成一个动态网址并将其插入到HTML标记中,然后使用.innerHTML属性将其添加到页面中。
for (n = 0; n <= allImages.length - 1; n++) { // This cycles through all the images on the page.
function getUrl() {
var srcUrl = document.images[n].src;
return srcUrl; // Then I get the src URL for each image and return it.
}
var newP = document.createElement('p');
newP.innerHTML = document.images[n].naturalWidth + " x " + document.images[n].naturalHeight + " " + '<a href= \'javascript:window.location=getUrl();\'>LINK</a> '; // Run the 'getURL' function so the word LINK directs the viewer to the specific image URL.
imgUrlDiv.appendChild(newP); // Append the code each time to a new <p>
}
&#13;
我遇到的问题是,因为getURL函数被添加为&#39; href&#39;的值。它必须在引号中,因此它会变成一个字符串(我的猜测),因此它会按原样呈现,并且不会提取正确的图像URL。
有没有办法将getURL函数插入到href的值中,并让它渲染到页面上每个图像的链接?
<a href= \'javascript:window.location=getUrl();\'>LINK</a>
这些是我查看过的一些资源,但还未能解决这个问题:
非常感谢先进!
答案 0 :(得分:0)
创建元素时将图像源添加为href
for (var n = 0; n < allImages.length; n++) {
var img = document.images[n];
var newP = document.createElement('p');
var newA = document.createElement('a');
var newT = document.createTextNode(img.naturalWidth + " x " + img.naturalHeight + " ");
newA.href = img.src;
newA.textContent = 'LINK';
newP.appendChild(newT);
newP.appendChild(newA);
imgUrlDiv.appendChild(newP);
}
答案 1 :(得分:0)
如果您使用:
newP.innerHTML = document.images[n].naturalWidth + " x " + document.images[n].naturalHeight + " " + "<a href= '"+getUrl()+"'>LINK</a> ";
你可以拨打&#39; getURL&#39;功能,以便在您的新段落中打印出图像宽度和高度的字符串表示,单词LINK将查看器指向特定的图像URL。