从html触发javascript的正确方法

use*_*652 6 html javascript twitter-bootstrap

在调用java脚本的html网站中使用图形组件(更确切地说是twitter.bootstrap图标)的方法是什么?

人们可以制作一个按钮并将图标放在上面,但这看起来不太好恕我直言.或者可以使用href标签,

<a href="#" name="ad_fav" onclick= CALLFUNCTION> <i
                        class="icon"></i></a>
Run Code Online (Sandbox Code Playgroud)

但实现这一目标的最简洁方法是什么?如果图标在点击后可能会发生变化,那也很好.

例如,如何实现stackoverflow中的upvote按钮?

Ste*_*fan 4

其他方式:

function myFunc () {
// code here
}

var element = document.getElementsByClassName("icon");
element[0].addEventListener("click", myFunc);
Run Code Online (Sandbox Code Playgroud)

  • 仍然不对, getElement*s*ByClassName 不返回元素,而是返回元素的数组。我建议使用 id 来识别它,这就是 id 的用途,所以让你的图标图像使用 id="icon1",然后通过 id 获取它,或者迭代所有图标类 (4认同)
  • 没有“getElementByClassName()”方法。有一个`getElementsByClassName()`(注意“Elements”中的复数“s”)。 (3认同)
  • +1;这是最干净的方式,无需将 js 与 html 混合! (2认同)
  • 将点击处理程序添加到锚点是一个更好的选择,因为它会自动允许通过键盘进行访问。显示的代码仍然给出“Object #&lt;NodeList&gt; has no method 'addEventListener'”错误 - 需要说“element[0].addEventListener(...)”(假设至少有一个元素匹配)。 (2认同)