我试图取悦JSLint,除非在特殊情况下,否则不要使用this
。我有一个原始的功能,如下:
$.fn.extend({
my_original_function: function ([arguments]){
[arbitrary routine]
}
});
...在ID选择器上调用如下:
$('#my_id').my_original_function([arguments]);
在我原来的函数版本中,我在其中使用this
来返回函数运行的选定DOM元素。但是,JSLint并不喜欢它,所以我试图找到一种方法来引用#my_id
(在这个例子中)函数被调用的函数...不使用this
!
这似乎更像是一场学术活动,但是我不知道如何在不使用this
的情况下检索函数中的id。有任何想法吗?
*问题中的功能*
它是用于在单击时切换文本链接的切换功能。这是this
的原始版本:
$.fn.extend({
toggleText: function(open, close) {
var isClicked = false;
var that = $(this);
$(this).click(function () {
if (isClicked) {
that.text(open);
isClicked = false;
} else {
that.text(close);
isClicked = true;
}
});
return $(this);
}
});
$('#id_one').toggleText("Toggle Text 1", "Toggle Text 2");
$('#id_two').toggleText("Hello", "Goodbye");
答案 0 :(得分:0)
$.fn.extend({
toggleText: function(open, close, that) {...
$('#id_one').toggleText("Toggle Text 1", "Toggle Text 2", $('#id_one'));