Javascript JQuery将onclick字符串添加到不属于类的锚点
我有一些html代码,它是通过读取一些json加载的。在这些数据中有一些链接 我需要向这些链接的锚添加Javascript JQuery将onclick字符串添加到不属于类的锚点,javascript,jquery,Javascript,Jquery,我有一些html代码,它是通过读取一些json加载的。在这些数据中有一些链接 我需要向这些链接的锚添加onclick=“myfunction();” 由于我不希望任何其他链接被更改,我已经为所有内部链接(未导入的链接)添加了一个类 我需要的是一些jquery,它可以做到这一点: 如果链接没有转到class=“internal”,则添加onclick=“myfunction();”** 所以,如果链接看起来像: <a href="" class="internal">Click me&
onclick=“myfunction();”
由于我不希望任何其他链接被更改,我已经为所有内部链接(未导入的链接)添加了一个类
我需要的是一些jquery,它可以做到这一点:
如果链接没有转到class=“internal”
,则添加onclick=“myfunction();”**
所以,如果链接看起来像:
<a href="" class="internal">Click me</a>
然后什么也没做
但如果是这样的话:
<a href="">Click me</a>
然后改为:
<a href="" onclick="myfunction();">Click me</a>
如何执行此操作?使用选择器
使用选择器
使用:
使用:
将此参数传递给函数
onclick="myfunction(this);"
function myfunction(elem){
if(elem.className == '' || elem.className !== 'internal') return;
}
或者,您可以从HTML中删除事件,并使用jQuery添加它
<a href="">Click me</a> then it's changed to this: <a href="" >Click me</a>
$('body').on('click' , 'a' , function(e) {
if( e.target.className == '' || e.target.className !== 'internal') e.preventDefault();
myfunction()
});
然后更改为:
$('body')。在('click','a',函数(e)上{
如果(e.target.className=''| e.target.className!=='internal')e.preventDefault();
myfunction()
});
这只会添加将此参数传递给函数的单击事件
onclick="myfunction(this);"
function myfunction(elem){
if(elem.className == '' || elem.className !== 'internal') return;
}
或者,您可以从HTML中删除事件,并使用jQuery添加它
<a href="">Click me</a> then it's changed to this: <a href="" >Click me</a>
$('body').on('click' , 'a' , function(e) {
if( e.target.className == '' || e.target.className !== 'internal') e.preventDefault();
myfunction()
});
然后更改为:
$('body')。在('click','a',函数(e)上{
如果(e.target.className=''| e.target.className!=='internal')e.preventDefault();
myfunction()
});
这只会添加单击事件,而该事件只会添加,不添加
除非您有非常明确的理由在HTML上使用显式的onclick
属性(我想不出一个好的理由),否则只需使用$('a:not(.internal'))。on('click',myfunction)代码>只是,不要
除非您有非常明确的理由在HTML上使用显式的onclick
属性(我想不出一个好的理由),否则只需使用$('a:not(.internal'))。on('click',myfunction)代码>