que obtener ejemplos div contenido con agregar javascript

javascript - obtener - js nodelist



¿Cómo verificar si un objeto es una instancia de NodeList en IE? (4)

" Duck Typing " siempre debería funcionar:

... if (typeof el.length == ''number'' && typeof el.item == ''function'' && typeof el.nextNode == ''function'' && typeof el.reset == ''function'') { alert("I''m a NodeList"); }

¿Por qué NodeList está indefinido en IE6 / 7?

<form action="/" method="post" id="testform"> <input type="checkbox" name="foobar[]" value="1" id="" /> <input type="checkbox" name="foobar[]" value="2" id="" /> <input type="checkbox" name="foobar[]" value="3" id="" /> </form> <script type="text/javascript" charset="utf-8"> (function () { var el = document.getElementById(''testform'')[''foobar[]''] if (el instanceof NodeList) { alert("I''m a NodeList"); } })(); </script>

Esto funciona en FF3 / Safari 3.1 pero no funciona en IE6 / 7. ¿Alguien tiene alguna idea de cómo verificar si el el es una instancia de NodeList en todos los navegadores?


Solo usaría algo que siempre evalúa a cierto tipo. Luego, simplemente haz una verificación de tipo verdadero / falso para ver si tienes un objeto válido. En su caso, obtendría una referencia al elemento seleccionado como lo está ahora, y luego usaré su método getOptions () para obtener una HTMLCollection que represente las opciones. Este tipo de objeto es muy similar a NodeList, por lo que no debería tener problemas para trabajar con él.


Con jQuery :

if (1 < $(el).length) { alert("I''m a NodeList"); }


La respuesta de Adam Franco casi funciona. Desafortunadamente, typeof el.item devuelve cosas diferentes en diferentes versiones de IE (7: cadena, 8: objeto, 9: función). Así que estoy usando su código, pero cambié la línea a typeof el.item !== "undefined" y cambié == a === largo.

if (typeof el.length === ''number'' && typeof el.item !== ''undefined'' && typeof el.nextNode === ''function'' && typeof el.reset === ''function'') { alert("I''m a NodeList"); }