Javascript 如何获取被单击元素的ID并将其存储在变量中,并在进行AJAX调用的函数中使用它
我一直在尝试从下面的一键函数中删除这个Javascript 如何获取被单击元素的ID并将其存储在变量中,并在进行AJAX调用的函数中使用它,javascript,jquery,ajax,Javascript,Jquery,Ajax,我一直在尝试从下面的一键函数中删除这个#staticid,并使用变量,这样它会自动获取id,如#static,#dynamic…等,并将其放入一键函数中。这将节省我一次又一次地复制和粘贴相同的函数,只需更改它的ID名称。此外,这还将使代码看起来简洁明了 jQuery(document).ready(function($){ // Home Page Static Portfolio Ajax Query $(this).one('click', '#static', function( e ){
#static
id,并使用变量,这样它会自动获取id,如#static
,#dynamic
…等,并将其放入一键函数中。这将节省我一次又一次地复制和粘贴相同的函数,只需更改它的ID名称。此外,这还将使代码看起来简洁明了
jQuery(document).ready(function($){
// Home Page Static Portfolio Ajax Query
$(this).one('click', '#static', function( e ){
var that = $(this);
var id = that.attr('id');
var rel = that.data('rel');
var ajaxurl = that.data('url');
$.ajax({
url : ajaxurl,
type : 'POST',
data : {
rel : rel,
action : 'home_filter_' + id + '_portfolios'
},
error : function( response ){
console.log( response );
},
success : function ( response ){
if ( response == '' ) {
$('figure' + id).after( '<div class="end_of_testimonial"><h3>You have reached the end of the line</h3><p>No more portfolios to load!</p></div>' );
} else {
$('.gallery-wrapper').append( response );
}
}
});
});
jQuery(文档).ready(函数($){
//主页静态组合Ajax查询
$(此).one('click','#static',函数(e){
var,该值=$(此值);
var id=that.attr('id');
var rel=that.data('rel');
var ajaxurl=that.data('url');
$.ajax({
url:ajaxurl,
键入:“POST”,
数据:{
雷尔:雷尔,
操作:'home\u filter\u'+id+'\u公文包'
},
错误:函数(响应){
控制台日志(响应);
},
成功:功能(响应){
如果(响应=“”){
$('figure'+id).after('youhavehavedtheendofline没有更多的投资组合要加载!');
}否则{
$('.gallery wrapper').append(响应);
}
}
});
});
任何帮助都将不胜感激:)
在代码的这一行中,您应该使用类作为元素的标识符。“id”是唯一的,应该只分配给一个元素
$(body).one('click', '.yourclass', function( e )
并将该类添加到所需的所有元素中。您可以将一个公共类添加到所有要处理该类的元素中,并使用常规的
on()
单击一个类后添加另一个类,这样您就不会再次发出该请求来替换one()
功能
$(函数(){
//为了便于阅读,最好使用'document'而不是'this'
$(文档).on('click','my div',函数(e){
var,该值=$(此值);
if(that.hasClass('ready-clicked')){
//纾困
console.log('已单击')
返回
}否则{
addClass('ready-clicked');
var data=that.data();
data.id=this.id;
log(JSON.stringify(数据))
//做你的ajax
}
});
})
第一组
第二组
Div two
您可以使用类并以这种方式调用ajax函数。这是您的演示代码。您可以为该函数使用任意数量的id。我使用document on event调用该类的每个实例。
很抱歉,最后的代码是$(body)。one('click','.yourclass',函数(e)将不起作用,因为使用
one()
单击该类的任何一个都会阻止代码在其他元素上运行,而classIf不仅仅是使用.on()
而不是.one()
…请编辑您的问题。可以更好地定义您的问题。您希望得到什么帮助?
$(body).one('click', '.yourclass', function( e )
jQuery(document).ready(function($){
// Home Page Static Portfolio Ajax Query
$(document).on('click', '.clickclass', function( e ){
var that = $(this);
var id = that.attr('id');
var rel = that.data('rel');
var ajaxurl = that.data('url');
alert(id);
});
});