将Javascript/Jquery隔离到一个元素

Isolating Javascript/Jquery to one element

本文关键字:一个 元素 Javascript Jquery 隔离      更新时间:2023-09-26

使用LESS CSS,我能够将整个样式表限制为作用于特定的div元素。我想将整个javascript文件限制为页面上的特定div元素。

例如,在页面顶部启动的js文件具有操作DOM中表元素的代码。它完成了它的工作,但也完成了页面上的所有表元素,而不是我想要的特定元素。现在的实际操作是将所有相应的jquery选择器更改为一个更具体的标识符。我知道。但是代码堆积如山,这是不可行的

有没有办法将javascript/jquery代码限制为特定的div?

我也想避免使用iframe。

谢谢。

您可以检查元素if (jQuery('#element').html() !== null)

在这种情况下,我正在查看dom中是否存在#element。如果它返回true,我将通过ajax加载我的插件。

if (jQuery('#element').html() !== null) {
    jQuery.ajax({
        url: '../assets/js/plugins/myplugin.js',
        type: 'GET',
        dataType: 'script',
        cache: true,
        success: function(data, textStatus, xhr) {
            // Do whatever you want
        }
    });
}

但是,如果你有多个相似的元素,你就不可能不改变你的选择器。也许您可以处理元素的索引宽度(在DOM中的位置)。

$("div:eq(2)") //get third div
  • http://api.jquery.com/index/
  • http://api.jquery.com/eq-selector/

您可以执行类似的操作

在jQuery 中

var $div = function(sel) {
  $(sel, YOUR_DIV);
}

之后,您可以使用$div('selector')而不是使用$('selector')