使用jQuery可以通过以下方式在DOM中获取对象上的函数:
.data()
方法:.data()
方法可以获取或设置DOM元素上存储的数据。如果函数是作为对象的属性存储在DOM元素上,可以使用.data()
方法获取该函数并调用。// HTML
<div id="myDiv" data-myFunction="myFunction"></div>
// JavaScript
var myDiv = $('#myDiv');
var functionName = myDiv.data('myFunction');
var myFunction = window[functionName];
myFunction();
.prop()
方法:.prop()
方法可以获取DOM元素的属性值。如果函数是作为对象的属性存储在DOM元素上,可以使用.prop()
方法获取该属性值并调用。// HTML
<div id="myDiv" myFunction="myFunction"></div>
// JavaScript
var myDiv = $('#myDiv');
var functionName = myDiv.prop('myFunction');
var myFunction = window[functionName];
myFunction();
.attr()
方法:.attr()
方法可以获取DOM元素的属性值。如果函数是作为对象的属性存储在DOM元素上,可以使用.attr()
方法获取该属性值并调用。// HTML
<div id="myDiv" myFunction="myFunction"></div>
// JavaScript
var myDiv = $('#myDiv');
var functionName = myDiv.attr('myFunction');
var myFunction = window[functionName];
myFunction();
需要注意的是,以上方法都是基于函数作为对象的属性存储在DOM元素上的情况。如果函数是直接绑定在DOM元素上的事件处理程序,可以使用jQuery的事件绑定方法(如.click()
、.on()
等)来调用函数。
推荐的腾讯云相关产品:腾讯云函数(云原生 Serverless 产品),详情请参考腾讯云函数产品介绍。
jQuery的杰出的DOM操作能力相信已经深入每一个前端Coder,在使用Vue之前我并不能习惯数据驱动的概念,仍然幻想着把jQuery引入到Vue中,直到深入使用Vue以后才发现,原来许多jQ操作DOM的方法都不需要,数据驱动比手工操作DOM方便快捷许多。尽管如此,Vue仍然给了我们原生DOM控制的能力。
环境是由Vue-Cli搭建的webpack模板,省略CSS部分
HTML部分
领取专属 10元无门槛券
手把手带您无忧上云