Heim >Web-Frontend >js-Tutorial >Erhalten Sie benutzerdefinierte Attribute von Daten – mit jQuery_jquery

Erhalten Sie benutzerdefinierte Attribute von Daten – mit jQuery_jquery

WBOY
WBOYOriginal
2016-05-16 15:33:071569Durchsuche

Hören Sie auf, Unsinn zu reden, und beginnen Sie mit dem Code

jQuery.fn.dataset = function(attr, val) {
    // 获取数据集
    if (arguments.length == 0) {
      var dataset = {};
      jQuery(this).eq(0).each(function() {
        var attrs = this.attributes;
        for (var i = 0, l = attrs.length; i < l; i++) {
          var attr = attrs[i];
          if (/^data-/i.test(attr.name)) {
            dataset[decode(encode(attr.name.substring(5)))] = autobox(attr.value);
            if (decode(encode(attr.name.substring(5))) == "path") {
              dataset[decode(encode(attr.name.substring(5)))] = attr.value != null &#63; String(attr.value) : null;
            }
            if (decode(encode(attr.name.substring(5))) == "name") {
              dataset[decode(encode(attr.name.substring(5)))] = attr.value != null &#63; String(attr.value) : null;
            }
          }
        }
      });
      return dataset;
    }

    // 返回指定数据
    if (arguments.length == 1 && typeof attr != 'object') {
      if(encode(attr) == "data-path"){
        return this.attr(encode(attr));
      }
      return autobox(this.attr(encode(attr)));
    }

    // 设置数据集
    var dataset = attr;
    if (typeof attr != 'object') {
      dataset = {};
      dataset[attr] = String(val);
    }
    var tmp = {};
    jQuery.each(dataset, function(k, v) {
      tmp[encode(k)] = autobox(v);
    });
    return this.attr(tmp);
  };

Durch die Erstellung von Komponenten mit jQuery können Sie ganz einfach die benutzerdefinierten Attribute unserer Datenattribute abrufen und den Datenattributen auch Werte zuweisen.

Erhalten Sie:

$("div").dataset("name") //获取data-name的值

Aufgabe:

$("div").dataset("name","Tezml") //给data-name这个属性赋值为Tezml

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn