![](/img/trans.png)
[英]How to create an element dynamically in an html page using javascript?
[英]Using JavaScript to dynamically create HTML on page load
這是我要做什么的非常簡短的背景。 我需要創建一個非常小的JavaScript塊,將其分配給許多網站以嵌入其主頁中。 然后,當訪問者訪問這些主頁時,將自動調用一個URL,該URL收集某些統計信息並返回一個小圖像。 我已經將這些設置如下:
<script>
/* Determine if there is a cookie already exists and get its value if not. */
var userId;
match = document.cookie.match(new RegExp("someUserId" + '=([^;]+)'));
if (match)
userId = match[1];
else {
/* generate a random 10 character string */
userId = (Math.random() + 1).toString(36).substring(5, 15);
/* Store this as a cookie value */
<needs to be done>
}
/* This is what I need help with. A page is called when the home page loads to collect some stats and return a small image */
<a href="http://www.SomeAnalysisSite.com/"><img src="http://www.SomeAnalysisSite.com/Log/?Id=1@userId=xxx" alt=""/></a>
</script>
我不知道該怎么做的是最后一行(帶有img標簽)。 在生成“ userId”的值之后,我需要動態生成此代碼並將其插入DOM(我認為),以便可以將其作為查詢參數包含在img src URL中。 還是有更好的方法? 當然,在將其發送到第三方網站之前,我將對其進行最小化。
將最后一行替換為:
document.write('<a href="http://www.SomeAnalysisSite.com/"><img src="http://www.SomeAnalysisSite.com/Log/?Id=1@userId=' + userId + '" alt=""/></a>');
並檢查您是否要在以上行中用&代替@。
var userId; /*1*/ userId = (Math.random() + 1).toString(36).substring(5, 15); var siteUrl = "http://www.SomeAnalysisSite.com/" /*2*/ var imgUrl = siteUrl + "Log/?Id=1@userId=" + userId; var linkUrl = siteUrl; /*3*/ var img = document.createElement('img'); /*4*/ img.setAttribute('src', imgUrl); /*5*/ var link = document.createElement('a'); /*6*/ link.setAttribute('href', linkUrl); /*7*/ link.appendChild(img); /*8*/ document.getElementById("somediv").appendChild(link);
<html> <body> <div id="somediv"> </body> <script> </script> </html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.