javascript - 如何将 $(this) 对象从一个函数传递到另一个函数?

标签 javascript jquery oop object

我认为这是非常基本的面向对象 javaScript 相关问题。但我对此仍然很困惑。我想将 $(this) 对象从 1 个函数传递到另一个函数。这样我就可以获得点击链接的href attr。

这是我的示例代码

HTML

<a href="#testblah" class="test" rel="image">TEST</a>
<a href="#blahtest" class="test" rel="video">TEST</a>

JS

$(document).on("click", ".test", function () {

var $this = $(this);
var rel = $this.attr("rel");

if (rel == "image") {
    e.preventDefault();
    openImage($this);
} else if (rel == "video") {
    openVideo($this);
}
});

function openImage($this) {

var href =  $this.attr("href");
alert(href);
}

最佳答案

查看 jQuery 文档中的示例 page 。您会发现 on 方法适用于所选元素,在您的代码中,它是 document 对象。要获取所需的属性,jQuery 不需要包装该元素。这是一个 JSBin example 。另一件事是,尝试用 === 重新放置 == 来进行类型检查。希望对您有帮助

关于javascript - 如何将 $(this) 对象从一个函数传递到另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15620517/

相关文章:

javascript - 在 FullCalendar.js 中添加 Customcell

javascript - 如何找到另一个数组中的数组长度

javascript - CSS:带有下拉菜单的粘性导航栏未显示(-溢出)?

javascript - 垃圾邮件可以看到/使用 javascript 吗?

javascript - Laravel 5.2 请求返回 null AJAX

php - 如何使从数据库中检索到的图像具有响应性?

jquery - 使用javascript重置输入类型文本?

java - 在 OOP 中,Private 成员对谁来说是私有(private)的?

entity-framework - 使用 ado Entity Framework 时在 DDD 中组织我的域对象

c++ - 类松散耦合和数据访问