You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery选择器为DOM元素绑定自定义函数?附原生JS实现示例

用jQuery为DOM元素组添加自定义函数

当然可以用jQuery选择器选中一组DOM元素,再为每个元素添加自定义函数,以下是两种贴合你需求的实现方式:

方式一:直接为原生DOM元素添加自定义方法

这种方式和你原生JS的实现逻辑一致,通过jQuery选择器选中元素后,遍历每个对应的原生DOM对象,为其绑定format函数:

// 选中目标元素组(这里用类选择器示例,可根据实际需求替换为其他jQuery选择器)
$('.weather-temperature').each(function() {
  // this 指向当前遍历到的原生DOM元素
  this.format = function(val) {
    var fTemp = val * 9 / 5 + 32;
    var fDisp = Math.round((fTemp + Number.EPSILON) * 10) / 10;
    this.innerText = fDisp.toString();
  };
});

如果是针对单个元素(比如你原代码中的唯一ID元素),可以简化为:

const $target = $('#WeatherObservation.Temperature');
if ($target.length) {
  // 通过[0]获取原生DOM对象
  $target[0].format = function(val) {
    var fTemp = val * 9 / 5 + 32;
    var fDisp = Math.round((fTemp + Number.EPSILON) * 10) / 10;
    this.innerText = fDisp.toString();
  };
}

方式二:扩展jQuery对象方法(可选)

如果你希望通过jQuery调用方式来实现格式化操作,可以扩展jQuery的原型方法,这样所有jQuery对象都能直接使用该方法:

// 扩展jQuery方法
$.fn.formatTemperature = function(val) {
  // 遍历所有匹配的元素并执行格式化
  return this.each(function() {
    var fTemp = val * 9 / 5 + 32;
    var fDisp = Math.round((fTemp + Number.EPSILON) * 10) / 10;
    this.innerText = fDisp.toString();
  });
};

// 使用示例:直接调用jQuery方法完成格式化
$('.weather-temperature').formatTemperature(22);

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:28:15