inn*_*ion 6 javascript ajax jquery
任何人都可以告诉我为什么我收到此错误:
未捕获的TypeError:无法读取未定义的属性'replace'
function checkNewPost(x) {
var pid = $('#NewPostbody').attr('class');
if(pid === 'post-t') {
setTimeout(checkNewPost, <?php echo $p_id; ?>);
} else {
$.ajax({
type: "POST",
url: "/html_postReply.php",
data: "pid="+pid.replace('post-t', '')+"&type=1",
success: function(html) {
if(html) {
$('.tekin').append(html);
jQuery("span.timeago").timeago();
$(".tekin").scrollTop($(".tekin")[0].scrollHeight);
}
if(!x) {
setTimeout(checkNewPost, <?php echo $p_id; ?>);
}
}
});
}
}
checkNewPost();
Run Code Online (Sandbox Code Playgroud)
根据上面给出的信息,我认为此错误是由两种情况之一引起的:
$('#NewPostBody)在 DOM 中找不到
$('#NewPostBody)正在被发现但没有类属性。
可以使用以下方法解决:
var pid = ($('#NewPostBody').length && $('#NewPostBody').attr('class'))
? $('#NewPostBody').attr('class')
: "";
Run Code Online (Sandbox Code Playgroud)
三元运算符与真值/假值逻辑应该导致返回类或空字符串。无论哪种方式,pid.replace('post-t', '')都可以安全地调用而不会导致错误。
| 归档时间: |
|
| 查看次数: |
22672 次 |
| 最近记录: |