以下是我的代码......
$('.dp_top_panel_alphabet_ul li').click(function(){
console.log($(this).attr('title'));
});
此代码工作正常,我的第二个代码低于......
$("[tagname='a']").click(function(){
$('.dp_right_panel').hide();
$('.dp_right_show').show();
var a;
$('.font_image').each(function(){
if($(this).attr('title').substr(0, 1)=='A'){
a += $(this)[0].outerHTML;
}
});
$('.fonts_div_show').html(a);
});
此代码也可以正常工作,但现在问题是我必须集成两段代码并且存在问题:
$('.dp_top_panel_alphabet_ul li').click(function(){
var letter = $(this).attr('title');
var tagme="[tagname="+letter+"]";
$(tagme).click(function(){
console.log("[tagname="+letter+"]");
$('.dp_right_panel').hide();
$('.dp_right_show').show();
var a;
$('.font_image').each(function(){
if($(this).attr('title').substr(0, 1)==letter){
a += $(this)[0].outerHTML;
}
});
$('.fonts_div_show').html(a);
});
});
此代码无效...因为$this
关键字。
我该如何解决这个问题?
答案 0 :(得分:1)
如果您想要点击的元素,您应该使用事件参数中的event.target属性。
答案 1 :(得分:1)
var $this = this;//Cache your selector here at the top
----------------------------------------------------
if ($this.title.substr(0, 1) == letter) {
a += $this.outerHTML; //now use $this
}