【发布时间】:2016-05-03 15:46:30
【问题描述】:
我在 4 个数组中有一组 id 值。每个数组都将被分配一个文本值,用于一个 h1 和一个我还没有输入的 p。现在我只是想让它在数组graphicDesign中的一个图像被点击时发出警报。我尝试使用 $.inArray
var graphicDesign = [$('#design'), $('#DD'), $('#SElogo')];
var webDesign = [$('#bootstrap'), $('#farm'), $('#pong'), $('#SE'), $('#dung')];
var programming = [$('#SE'), $('#dung'), $('#sacar')];
var other = [$('#firm')];
function categories() {
if ($.inArray(this, graphicDesign) > -1) {
alert('hello');
}
}
【问题讨论】:
-
你的问题是什么?
-
在您的演示代码中,
this将不是一个元素,因为您单独调用它。将console.log(this)添加到categories()并打开您的控制台(按F12)。你会明白我的意思。 -
如何让警报发挥作用。我画廊中的每个图像都有一个 ID,每个 ID 都在我的一个数组中,如果单击的图像的 ID 在 x 数组中,那么它应该做某件事。现在我只是试图通过使用警报来正确定位它
-
已编辑演示,我在错误的点击功能中有分类功能。将此更改为 event.target,仍然无法正常工作
-
graphicDesign 是一个 jquery 对象数组。 Jquery 选择器返回包含原始对象的数组,我不记得是什么。为了显示警报,只需用 if ($.inArray(event.target, graphicsDesign[0]) > -1) 替换您的代码,但这不是解决方案。您必须循环输入数组的所有元素并与第一个元素进行比较
标签: javascript jquery arrays