我正在创建一个社交媒体网站,我需要让用户动态 post
I am creating a social media sort of website, and I need to let the user dynamically post
代码应该使用 js 动态添加一个新的文章元素。这是我的代码,但它不起作用。
js 在用户单击 post 按钮后在页面上创建文章。
`
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 = document.getElementByID("posting-area").value;
// test case, append the content
document.body.appendChild(article);
document.getElementById("myarticle").appendChild(p);
}
`
html 供用户输入 post 文本。
<article class="posts">
<img 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>
我发现您的代码存在许多问题。首先,您将 p 元素附加到 ID 为 myarticle 的元素,但 myarticle 不存在于您的 html 代码段中。你可能把它关掉了。
另外,document.getElementByID("posting-area").value()
是错误的。应该是getElementById("posting-area").value()
。去掉getElementByID中的大写D。
最后,你需要换行
var p = document.createElement("p");
p = document.getElementById("posting-area").value;
到
var p = document.createElement("p");
p.innerHTML = document.getElementById("posting-area").value;
这是一个有效的 jsfiddle
代码应该使用 js 动态添加一个新的文章元素。这是我的代码,但它不起作用。
js 在用户单击 post 按钮后在页面上创建文章。 `
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 = document.getElementByID("posting-area").value;
// test case, append the content
document.body.appendChild(article);
document.getElementById("myarticle").appendChild(p);
}
`
html 供用户输入 post 文本。
<article class="posts">
<img 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>
我发现您的代码存在许多问题。首先,您将 p 元素附加到 ID 为 myarticle 的元素,但 myarticle 不存在于您的 html 代码段中。你可能把它关掉了。
另外,document.getElementByID("posting-area").value()
是错误的。应该是getElementById("posting-area").value()
。去掉getElementByID中的大写D。
最后,你需要换行
var p = document.createElement("p");
p = document.getElementById("posting-area").value;
到
var p = document.createElement("p");
p.innerHTML = document.getElementById("posting-area").value;
这是一个有效的 jsfiddle