Javascript Classname单击不带jQuery

时间:2016-05-26 18:07:50

标签: javascript jquery

我正在尝试将此代码转换为vanilla javascript,因为我们无法使用jQuery

if (isSafari) {
 document.getElementByClassName("buttonClassName").onclick = function () {
  // do something
};
}

我正在尝试这样的事情,但它不起作用:

$array = array_where($array, function ($key, $value) {
    return is_string($value);
});

没有jQuery我可以使用什么javascript

4 个答案:

答案 0 :(得分:0)

var elements = document.getElementsByClassName('buttonClassName');
for(var i = 0; i < elements.length; i++) {
    var element = elements[i];
    element.onclick = function() {}
}

答案 1 :(得分:0)

使用getElementsByClassName

document.getElementsByClassName('buttonClassName')[0].onclick = myFunc;

参见演示: http://jsbin.com/nihovadoto/edit?html,js,output

答案 2 :(得分:0)

我发现构建我的查询选择数组很有用,所以我可以在元素集合上使用Array原型函数。如果你不能使用jQuery,那么这个选择器函数会很有用:

function elem (selector) {
  return Array.apply(this, document.querySelectorAll(selector));
}

elem('.buttonClassName').forEach(function (el) {
  el.onclick = fn;
});

答案 3 :(得分:0)

一切看起来都很接近。我建议缓存你的按钮并尝试像下面的事件监听器

示例

var buttons = document.getElementsByClassName('buttonClassName');

buttons.addEventListener('click' , doSomething);

希望这有帮助