Tom*_*man 5 html javascript ajax jquery
谁能在下面的代码中看到为什么未更新div(#welcome)?
function show_logged_in(success)
{
var is_logged_in = success;
var dataString = {"reg":invalid, "login":invalid,"is_logged_in":is_logged_in};
$.ajax({
type:"POST",
url:"PHP/class.ajax.php",
data:dataString,
dataType:'JSON',
success: function(username) {
alert("User is shown");
user = username;
change_div();
},
error: function() {
alert("ERROR in show_logged_in")
}
});
function change_div(){
$('#welcome').style.display = 'block';
$('#welcome').innerHTML = "Welcome" + user + "to SIK";
}
}
Run Code Online (Sandbox Code Playgroud)
来自ajax的响应只是从会话变量中获取用户名。并正确返回。
当它返回时,我希望div出现并表示欢迎。但是由于某些原因,div没有被更新。
这是html:
<div id="welcome" style="display:none; postion:absolute; top:0; float:right;">...</div>
你做不到
$('#welcome').style.display = 'block';
$('#welcome').innerHTML = "Welcome" + user + "to SIK";
Run Code Online (Sandbox Code Playgroud)
与jQuery。这是因为$('#welcome')随身携带的是jQuery对象,而不是DOM元素。
为此,使用jQuery:
$('#welcome').html('Welcome' + user + 'to SIK').show(); // Brought up in comments
$('#welcome').show(); // Old
$('#welcome').html('Welcome' + user + 'to SIK'); // Old
Run Code Online (Sandbox Code Playgroud)
或者,如果您真的想获取DOM元素:
$('#welcome')[0].style.display = 'block';
$('#welcome')[0].innerHTML = "Welcome" + user + "to SIK";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8263 次 |
| 最近记录: |