如何处理没有ID的链接?它只有一个类名,如“classbeauty”。如何处理JavaScript中的点击链接?
现在我需要知道用户是否点击了链接。 如果链接被点击,我只需要拨打alert("yes link clicked");
。
我不知道如何处理JavaScript中的事件。
我该怎么做?
如何处理没有ID的链接?它只有一个类名,如“classbeauty”。如何处理JavaScript中的点击链接?
现在我需要知道用户是否点击了链接。 如果链接被点击,我只需要拨打alert("yes link clicked");
。
我不知道如何处理JavaScript中的事件。
我该怎么做?
如果jQuery是一个选项:
$("a.classbeauty").click(function(){
alert("yes link clicked");
});
如果您需要纯JavaScript:
var elements = document.getElementsByTagName("a");
for(var i=0; i<elements.length; i++){
if (elements[i].className == 'classbeauty') {
elements[i].onclick = function(){
alert("yes link clicked!");
}
}
}
如果你需要它Greasemonkey:
function GM_wait() {
if(typeof unsafeWindow.jQuery != 'function') {
window.setTimeout(wait, 100);
} else {
unsafeWindow.jQuery('a.classbeauty').click(function(){
alert('yes link clicked');
});
}
}
GM_wait();
为什么不'getElementsByTagName(“a”)'? – BalusC 2010-04-25 21:47:08
function getElementsByClassName(class_name) {
var elements = document.getElementsByTagName('*');
var found = [];
for (var i = 0; i < elements.length; i++) {
if (elements[i].className == class_name) {
found.push(elements[i]);
}
}
return found;
}
getElementsByClassName("YourClass")[0].onclick = function() { alert("clicked"); };
这是纯顺便说一下,JavaScript。这里的每个人都喜欢jQuery(包括我)。
for (var i= document.links.length; i-->0;) {
if (document.links[i].className==='classbeauty') {
document.links[i].onclick= function() {
alert('yes link clicked');
return false; // if you want to stop the link being followed
}
}
}
+1这是一个很好的答案,请正确,不要downvote! – systempuntoout 2010-04-25 21:23:09
-1没有足够的jQuery(只是在开玩笑) – 2010-04-25 22:03:27
function handleLinks(className, disableHref) {
var links = document.body.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (links[i].className == className) {
links[i].onclick = function(){
alert('test')
if (disableHref) {
return false; //the link does not follow
}
}
}
}
}
handleLinks('test', true)
您可以在此链接测试: http://jsfiddle.net/e7rSb/
我不知道这是否是一种选择,但我会翻转标志链接被点击的时候,然后就测试该变量。
//javascript
var _cbClicked = false;
function checkClicked() {
if (_cbClicked) alert("link was clicked");
return false;
}
//html
<a href="#" class="classbeauty" onclick="_cbClicked = true; return false;">Link Text</a>
<a href="#" onclick="checkClicked();">Check Link</a>
很简单,纯JS :)
如果控制源代码,你可以添加你的脚本嵌入。
<a onclick="alert('yes link clicked'); return false">Link</a>
如果你的目标的现代浏览器,你可以用getElementsByClassName选择元素。这里有几个人提出了他们自己的这个函数的实现。
var node = document.getElementsByClassName('classbeauty')[0]
node.onclick = function(event){
event.preventDefault()
alert("yes link clicked")
}
+1 for preventDefault() – meo 2010-04-25 21:45:59
试试jQuery。拿出来喝几杯。看看你是否相处。不需要长期的承诺。 – 2010-04-25 21:22:54