也许这是预期的,但我发现它很奇怪,因为我现在开始使用jQuery。
所以,我正在使用node和jade编写应用程序。在index.jade中我有一个表单
的声明 p Welcome subscriber
span(id="subscriber") someID
现在,一旦在客户端和服务器之间建立连接,服务器就会发送包含一些数据的欢迎JSON消息。其中一个是我想在上面替换的客户端的id。一旦客户端收到欢迎的JSON消息,它就会初始化相应的结构,然后我调用一个函数loadStats:
function loadStats() {
var myText = "" + myData.id + ".";
$('#subscriber').text(myText);
$('#subscriber').html(myText);
};
在屏幕中,我可以看到文本“someID”被客户端的ID替换。但是,当我实际检查我正在查看的页面的html代码时,我看到了一个表单声明:
<p>Welcome subscriber <span id="subscriber">someID</span></p>
换句话说,在实际的HTML代码中,文本“someID”尚未被替换。这是预期的吗?如何更换?此外,似乎使用任何一个陈述
$('#subscriber').text(myText);
$('#subscriber').html(myText);
在屏幕上显示复制,但不在屏幕上显示的内容的实际html内容上。这是正确的行为吗?根据我的理解(并期望),.text()用特定的id替换元素的可视数据,而.html()替换内容。我错过了什么吗?
提前致谢。 jQuery新秀在这里。
答案 0 :(得分:1)
关于帕格表情的两个规则:
因此,请牢记这些规则,查看代码,您将输出属性“ subscriber”作为文字,并输出“ someId”作为文字。
span(id="subscriber") someID
结果:
<span id="subscriber">someId</span>
您希望两者都是动态的,因此请删除属性中的引号,并在元素后放置等号:
span(id= subscriber)= someID
这将动态地将两个变量替换为变量。