如何动态替换html文本?
我正在添加文字“I Tot I Taw a Puddy Tat!” 在ready函数中以这种方式使用jQuery到页面的顶部:
$("#Twitterati").html("I Tot I Taw a Puddy Tat!
").append(tweetiePie);
…但是我想用这个文本输入控件的内容动态地替换那个占位符文本(“I Tot I Taw a Puddy Tat!”):
…当Enter键被混淆时。 我怎样才能做到这一点?
我试过这个:
$("#inputQuery").keyup(function(e) { if(e.keyCode == 13) { $("#Twitterati h3").val($("#inputQuery".val())); } });
…还有这个:
$("#inputQuery").keyup(function(e) { if(e.keyCode == 13) { $("#Twitterati h3").replaceWith($("#inputQuery".val())); } });
……但是没有人做过任何事,我能看到……
UPDATE
现在这很好用; 但是当inputQuery val替换text / caption / heading时,我希望推文能够刷新。 IOW,我可以将文本从“jquery”更改为“html5”,但我显示的推文仍然是jquery推文。 我怎样才能刷新那个div?
试试这个:
$("#inputQuery").keyup(function(e) { if(e.keyCode == 13) { $("#Twitterati h3").html($(this).val()); } });
在这里缺少一个结束括号$("#inputQuery" <----
最后一个额外的括号.val())); <----
.val())); <----
修复此行
v $("#Twitterati h3").html($("#inputQuery").val());
对h3
使用.html()
而不是.val()
您想要设置目标元素的HTML。 此外,您可以使用“this”而不是再次按ID定位元素
$("#inputQuery").keyup(function(e) { if(e.keyCode == 13) $("#Twitterati h3").html($(this).val()); });
比特更安全
$("#inputQuery").keyup(function(e) { if(e.keyCode == 13) { $("#Twitterati h3").text(this.value); } });
您缺少关闭braket导致错误并将.val()替换为.html,因为您要替换文本而不是值
$("#Twitterati h3").html($("#inputQuery").val());
但你原来的是
$("#inputQuery".val()) //MIssing HERE
你也可以使用它
$("#Twitterati h3").html($(this).val());
‘this’将自动指示inputQuery
替换"#inputQuery".val()
同
$("#inputQuery").val()
代码是:
$("#inputQuery").keyup(function(e) { if(e.keyCode == 13) { $("#Twitterati h3").html($("#inputQuery").val()); } });