【发布时间】:2022-01-24 12:52:58
【问题描述】:
我刚刚遇到了一个与 jQuery 和 Javascript 相关的问题。 这是我的(一段)HTML 代码:
<div class="container">
<input type="text" class="input" id="display-name" placeholder="Display Name">
<input type="text" class="input" id="username" placeholder="Username">
<textarea class=" textarea" id="post" placeholder="Write The Posts..."></textarea>
<br>
<button type="button" class="button is-info" id="publish-post">Send</button>
</div>
<hr>
<div class="container post-result">
<p class="subtitle" id="post-status" style="color: darkgray;">No Posts Yet.</p>
</div>
这是我的整个 JavaScript 代码:
$(() => {
let postCount = 0;
$("#publish-post").click(() => {
const displayName = $("#display-name").val();
const username = $("#username").val().toLowerCase().replaceAll(' ','_');
const post = $("#post").val();
const CurrentTime = new Date()
.toString()
.split(' ');
if (username != undefined || post != undefined) {
let index = "#post-status";
postCount++;
console.log(username,post);
$(index).text(`${postCount.toString()} Posts.`);
$(index).append(`
<div class="card post-${postCount}">
<div class="card-content">
<div class="media-content">
<p class="subtitle is-4" style="color: darkgray;">Post #${postCount}
<p class="title is-4">${displayName}</p>
<p class="subtitle is-5" style="color: darkgray;">aciduser/${username}</p>
</div>
<div class="content">
<p>${post}<p>
</div>
</div
</div>
`);
}
});
});
假设我输入显示名称“Foo”,用户名“Bar”并发布“Foo Bar Baz”,然后单击发送。 是的,它可以工作,但是当我再次输入它而不是覆盖 Foo Bar Baz 并用新值替换它(即使没有新值,只是随机点击),我希望它添加新元素(例如,当我发布“Foo Bar Baz “,它添加元素 Foo Bar Baz 并且当我发布“Bar Foo Baz”时,它会在 Foo Bar Baz 的顶部添加新元素)。我该如何解决这个问题?非常感谢回答的人:)
【问题讨论】:
-
我认为(在那些 Random Caps 让我头疼之后)你的意思是当你添加一个新的“帖子”时,旧的“帖子”会被删除并且你想保留旧帖子。如果是这样,请将
$(index).text(${postCount.toString()} Posts.);更改为.append(,因为.text将首先清除您的$(index)。 -
我知道这与您的问题无关,但不应该 if (username != undefined || post != undefined) 是 if (username ! = 未定义 && 发布!= 未定义)。只是说这可能会分散您的注意力
-
@freedomn-m 是的,我的随机大写习惯很烦人,甚至让我自己也很烦。对不起。
标签: javascript html jquery