Mat*_*hew 0 variables jquery href
以下是工作脚本.
<script type="text/javascript">
window.lang = new jquery_lang_js();
$(document).ready(function() {
window.lang.run();
$(".jp").click(function (e) {
e.preventDefault();
var $this = $(this);
var id = $this.attr('href');
window.lang.change('jp');
});
$(".en").click(function (e) {
e.preventDefault();
var $this = $(this);
var id = $this.attr('href');
window.lang.change('en');
});
});
</script>
<a href="#" class="en">Switch to English</a>
<a href="#" class="jp">Switch to Japanese</a>
Run Code Online (Sandbox Code Playgroud)
/////////////////////////////////////////
现在,在快速告诉我"如果它工作有什么问题?"之前 我还有更多的类要添加,所以我试图摆脱冗余.我知道如何将href与相同的函数组合在一起,但是在这里,每个类都有可变函数,我无法自己解决这个问题.
这是我到目前为止所尝试的.
<script type="text/javascript">
window.lang = new jquery_lang_js();
$(document).ready(function() {
window.lang.run();
$this.each(function(){
$("a").click(function (e) {
e.preventDefault();
// var $this = $(this);
var id = $this.attr('href');
window.lang.change('jp');
window.lang.change('en');
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这不起作用.
并且在评论我之前应该首先学习jQuery的基础知识之前是不是有点苛刻,因为我不能替换var $ this = $(this); 到$ this.each(function(){正确吗?
我是jQuery的新手,我想通过在这里提问来学习.说我首先应该学习基础知识并不是很有建设性.如果你没有帮助那么好,但所有这些批评是什么?
我喜欢在这种场景中使用数据属性......
var lang = new jquery_lang_js();
$(function() {
lang.run();
$(".lang").click(function (e) {
var ln = $( this ).data( "lang" );
if ( ln ) {
lang.change( ln );
}
e.preventDefault();
});
});
<a href="#" class="lang" data-lang="en">Switch to English</a>
<a href="#" class="lang" data-lang="jp">Switch to Japanese</a>
Run Code Online (Sandbox Code Playgroud)
另外,this在这样的事件监听器的回调内部,它将引用被点击的实际DOM元素.您可以使用该DOM元素并将其包装$( this ),它基本上为您提供了一个包含被点击元素的jQuery对象.