Estoy muy confundido, solo quiero saber si di un atributo duplicado en attr(), entonces solo puedo aplicar el último atributo ex --> attr({style:'color:yellow',style:'font-family:arial',style:'color:yellow'}) He dado tres del mismo estilo aquí, ¿solo puedo aplicar el último? ¿Es posible aplicar el segundo estilo?
<!DOCTYPE html> <html> <body> <p id="prg1">first paragraph</p> </body> <script src="C:\Users\SUDARSHAN\Desktop\html_UI\jquery-3.6.0.js"> </script> <script> $('document').ready(function (){ $('#prg1').attr({style:'color:yellow',style:'font-family:arial',style:'color:yellow',style:'border-style:dotted'}); }) </script> </html>Entonces, su pregunta es un poco confusa, pero intentaré abordar todos los escenarios posibles:
.attr() . Así que esto está completamente mal; cualquier objeto b = { a: 1, a: 2 } no es válido y no debe usarse, pero el resultado será b === { a: 2 }.attr({style:'color:yellow'}).attr({style:'font-family:arial') sí, obtendrá el último ya que la función attr siempre sobrescribe el valor, nunca lo fusiona;.attr({ style:'color:yellow; font-family:arial; border-style:dotted'}); vea que cada elemento del estilo esté separado por ';'. Básicamente, cuando usa .attr + estilo, está configurando el atributo de estilo completo para el elemento html, lo que significa un código css completo, por lo que no necesita ni un 'estilo' por accesorio ni un 'atributo' por accesorio; Simplemente configure toda la cadena css en el atributo de estilo, dicho esto, puede tener tantos accesorios css como desee, simplemente divídalos con ';'EDITAR: he respondido aquí en función de su pregunta, pero como @Phil mencionó en el primer comentario a continuación, puede obtener una mejor solución utilizando .css() de jquery:
.css({ color: "yellow", fontFamily: "arial", borderStyle: "dotted" });Tenga en cuenta el uso de camelCase para los accesorios con "-", o en su lugar, coloque el nombre completo del accesorio entre comillas como "estilo de borde"
:)