
¿Cómo obtener un elemento por atributo?
Publicado por Vega (16 intervenciones) el 15/05/2014 21:07:44
Hola a todos, nuevamente yo :P
Quisiera saber si alguien podría ayudarme con un problemilla que tengo, he encontrado en la red un script que sirve para que al pulsar un botón se agregue texto a un DIV, este es el ejemplo:
Y funciona perfectamente, pero el problema es que donde yo lo quiero usar es específicamente en el body de un editor de texto, por lo cual no puedo utilizar getElementByTagName por que se agregaría el contenido tanto en el body del sitio como en el del editor. Para mi mala suerte no tiene ningún ID el body del editor y para peor suerte no puedo editarlo para agregarle uno.
Noté que tiene dos atributo únicos, mas específicamente la etiqueta completa es así:
Encontré otro código que obtiene los elementos por atributo:
Pero no tengo idea de cómo hacer...
De antemano muchas gracias por leer el tema, saludos.
Quisiera saber si alguien podría ayudarme con un problemilla que tengo, he encontrado en la red un script que sirve para que al pulsar un botón se agregue texto a un DIV, este es el ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
<html><head><title>Falso Chat</title>
<script type="text/javascript">
function AgregarLineaDeTexto(TextoLinea) {
document.getElementById("texto_chat").innerHTML += "<br>" + TextoLinea; // Agrego nueva linea antes
}
</script>
</head>
<body>
<input type="button" value="Agregar 'Hola'" onClick="AgregarLineaDeTexto('Hola')">
<input type="button" value="Agregar 'Chau'" onClick="AgregarLineaDeTexto('Chau')">
<div id="texto_chat">Este texto no va a desaparecer...</div>
</body></html>
Y funciona perfectamente, pero el problema es que donde yo lo quiero usar es específicamente en el body de un editor de texto, por lo cual no puedo utilizar getElementByTagName por que se agregaría el contenido tanto en el body del sitio como en el del editor. Para mi mala suerte no tiene ningún ID el body del editor y para peor suerte no puedo editarlo para agregarle uno.
Noté que tiene dos atributo únicos, mas específicamente la etiqueta completa es así:
1
<body class="cke_show_borders" spellcheck="true" contenteditable="true">
Encontré otro código que obtiene los elementos por atributo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getAllElementsWithAttribute(attribute)
{
var matchingElements = [];
var allElements = document.getElementsByTagName('*');
for (var i = 0, n = allElements.length; i < n; i++)
{
if (allElements[i].getAttribute(attribute))
{
// Element exists with attribute. Add to array.
matchingElements.push(allElements[i]);
}
}
return matchingElements;
}
Pero no tengo idea de cómo hacer...
1
document.getAllElementsWithAttribute('spellcheck').innerHTML
De antemano muchas gracias por leer el tema, saludos.
Valora esta pregunta


0