Obtenga todos los atributos de un elemento usando jQuery

Styphon:

Estoy tratando de pasar por un elemento y obtener todos los atributos de ese elemento para generarlos, por ejemplo, una etiqueta puede tener 3 o más atributos, desconocidos para mí y necesito obtener los nombres y valores de estos atributos. Estaba pensando en algo como:

$(this).attr().each(function(index, element) {
    var name = $(this).name;
    var value = $(this).value;
    //Do something with name and value...
});

¿Alguien podría decirme si esto es posible y, de ser así, cuál sería la sintaxis correcta?

pimvdb:

La attributespropiedad los contiene a todos:

$(this).each(function() {
  $.each(this.attributes, function() {
    // this.attributes is not a plain object, but an array
    // of attribute nodes, which contain both the name and value
    if(this.specified) {
      console.log(this.name, this.value);
    }
  });
});

Lo que también puede hacer es extender .attrpara que pueda llamarlo como .attr()para obtener un objeto simple de todos los atributos:

(function(old) {
  $.fn.attr = function() {
    if(arguments.length === 0) {
      if(this.length === 0) {
        return null;
      }

      var obj = {};
      $.each(this[0].attributes, function() {
        if(this.specified) {
          obj[this.name] = this.value;
        }
      });
      return obj;
    }

    return old.apply(this, arguments);
  };
})($.fn.attr);

Uso:

var $div = $("<div data-a='1' id='b'>");
$div.attr();  // { "data-a": "1", "id": "b" }

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Obtenga todos los atributos IDL para un elemento HTML

¿Cómo obtengo todos los atributos de un elemento XML usando Go?

¿Cómo obtengo todos los atributos de un elemento XML usando Go?

¿Cómo elimino todos los atributos de un elemento XML?

Obtenga los identificadores de todos los elementos usando un transportador

Obtenga todos los hijos de todos los hijos de un elemento en JavaScript

Obtenga todos los valores de atributos globales dentro de un Id, tbody, tr, title

Obtenga todos los atributos de variaciones con precios para un producto variable en WooCommerce

Mueva todos los elementos después de un elemento li seleccionado al inicio usando jquery

Obtenga todos los atributos de elementos de una lista clasificable

Obtenga todos los nombres de clase de ciertos atributos CSS

Cómo obtener todos los atributos de un elemento `<circle>` en un sitio web

XPath: cómo obtener todos los nombres de atributos y valores de un elemento

Recuperar todos los nombres de atributos de un elemento XML con xpath en xmlstarlet

Obtener todos los atributos de datos de un elemento y almacenarlos en JSON

¿Cómo copiar todos los atributos de un elemento y aplicarlos a otro?

Selenium webdriver: ¿Cómo encuentro TODOS los atributos de un elemento?

java Obtiene la lista o el nombre de todos los atributos en un elemento XML

En Tensorflow, obtenga los nombres de todos los tensores en un gráfico usando c ++

Obtenga el valor de los atributos HTML usando Puppeteer

Obtenga todos los atributos en el Editor de atributos en Propiedades de usuario de AD

Obtenga todos los valores de href de una clase en un fragmento de HTML usando beautifulSoup

Obtenga todos los nombres de columna de un DataClass en una matriz de cadenas usando (LINQ)

¿Cómo puedo eliminar todos los caracteres que comienzan con # desde dentro de un elemento div usando jquery o javascript?

¿Cómo accedo a los atributos de un elemento html en el lado del servidor usando javascript?

Obtener todos los atributos de un xml usando java y Xpath

¿Cómo editar todos los atributos src de la imagen desde un archivo usando nokogiri?

Obtenga todos los hijos de un JSON en C # usando NewtonSoftJson

Obtenga todos los metadatos de un PDF existente usando iText7