【发布时间】:2016-03-31 04:06:24
【问题描述】:
在我的网站中,用户有一个文本区域,他/她可以在其中为帖子输入文本或图像,然后单击 a 按钮。单击的按钮链接到一个 java 脚本函数,该函数动态创建一个包含帖子内容和用户名和个人资料图片的文章元素。 我的代码可以创建新的文章元素,但我面临两个问题:
- 每当我再次单击发布时,它都会在前一个元素中创建一个新文章元素。
- 我需要创建的 img 元素没有固定的 src。
这是我这部分的 html
<article class="posts">
<img id = "profilePic" class="peopletofollowimg" src=Profile.jpg alt="View Profile Picture">
<textarea id="posting-area" rows="6" cols="90" placeholder="Share Your Thoughts!"></textarea>
<button onclick="createPost()" id="post-button">Post!</button>
</article>
<article id="myarticle" class="posts">
</article>
这是我的 js 代码
<script>
document.getElementById("post-button").onclick = createPost;
var el = document.getElementById("post-button");
if (el.addEventListener)
el.addEventListener("click", createPost(), false);
else if (el.attachEvent)
el.attachEvent('onclick', createPost());
function createPost(){
var article = document.createElement("article");
article.setAttribute("id", "myarticle");
article.className = "posts";
var p = document.createElement("p");
//p.setAttribute("id", "postContent");
p.innerHTML = document.getElementById("posting-area").value;
var img = document.createElement("img");
//img.setAttribute=("src", document.getElementById("profilePic"));
// img.innerHTML = document.getElementById("profilePic");
img.getAttribute("src");
img.className = "peopletofollowimg";
// test case, append the content
document.body.appendChild(article);
document.getElementById("myarticle").appendChild(p);
document.getElementById("myarticle").appendChild(img);
}
</script>
【问题讨论】:
-
addEventListener和attachEvent的参数必须是createPost,而不是createPost()。 -
img.getAttribute("src")什么都不做。它返回源,但不做任何事情。
标签: javascript html dynamic web