我的问题是,我有一个页面有一个jquery函数,当提交文本时,它将文本内容放入#post div。
但是这个jquery在其他5个页面中使用,在这个页面中我没有#post div来放置它的内容。对于我正在做的事情,它是有目的的。
$('#submit').click(function (e) {
var form = $('#form32');
var submit = $('#submit');
$.ajax({
url: '/p.php',
type: 'POST',
cache: false,
data: form.serialize(),
success: function(data){
$(data).hide().prependTo('#post').fadeIn(1000);
},
});
});
我的问题很简单,我可以在没有#post div的页面中继续使用这个脚本吗?或者它可能导致一些最终的奇怪错误?
答案 0 :(得分:5)
我倾向于经常使用这个概念:
var $elem = $('#element');
if ($elem.length) {
// I can use $elem!
$elem.appendTo($otherElem);
}
应用于您的示例:
var $post = $('#post');
if ($post.length) {
$(data).hide().prependTo($post).fadeIn(1000);
}
(这可以避免任何不必要的控制台错误/日志/等)
答案 1 :(得分:4)
如果找不到选择器,jQuery会无声地失败,所以你不应该在不存在这些选择器的页面上使用这些选择器。
简单示例:
$('no_such_element');
你可以把它放在任何地方没有问题