发生了一些事情,但最重要的是您需要研究更多如何after
工作append
和appendTo
工作。以下是共享名称但最后具有的方法的基本语法差异To
:
Newcontent.appendTo(existingElement)
返回newElements
。
existingElement.append(newContent)
返回existingElement
。
此外,after
将新元素作为参考元素的同级元素,而append
将新元素作为子元素。这是一个重要的区别。
所以,然后试试这个脚本:
var taskid = 1;
$('#valueform').on('submit', function(){
var input = $('#todo').val();
$('<br><span id="task' + taskid.toString() + '">' + input
+ '</span> - <span id="status' + taskid.toString()
+ '">Ok</span>').appendTo('#status');
taskid += 1;
$('#todo').focus().select();
return false;
});
$('#todo').focus().select();
这是支持的 HTML:
<form id="valueform">
<input name="todo" id="todo" type="text" value="Set Me To Value" size="32" maxlength="30" />
<input type="submit" value="OK" id="okbutton">
</form>
<p id="status"></p>
还有一些其他的担忧:
- 我建议您研究在哪些 HTML 元素中允许使用哪些 HTML 元素。
- 不要在每个项目上放置
<b>
标签,而是使用 CSS。此外,如果粗体字在语义上<strong>
很重要,请改用。<b>
也可能不应该采取,id
因为它是一个演示标签,而不是一个内容标签。在考虑表示与语义时,必须考虑无法呈现粗体文本的屏幕阅读器或浏览器——在这种情况下,<strong>
如果需要,它们将允许它们以另一种方式强调文本。
- 熟悉jQuery 文档。仔细阅读每个函数的确切作用、它所作用的对象、预期的参数和返回的值,将使您能够在未来克服障碍,而不必在这里询问。
- 在我看来,您想将新内容放在
#status
段落中,而不是在段落之后。所以我就这样写了我的剧本。如果你把它放在你写它的方式之后,那么最近的状态将在顶部——但是你<br>
在任何块级元素之外都有非块级内容(以 your 开头)。所以你应该追加<p>
元素,或者你应该把你的内容放在现有的<p>
.
注意:我添加了一个表单并制作了按钮类型submit
,而不是button
为了轻松处理 Enter 键。它不必是这样的。