<html>
<body>
<iframe src="x"></iframe>
<iframe src="http://x"></iframe>
<script>
function obtenerAtributo(selector, atributo, i = 0, aux = []) {
for(selector = document.querySelectorAll(selector); i < selector.length; ++i) {
aux.push(selector[i][atributo]);
}
return aux;
}
alert(
obtenerAtributo("iframe", "src")[0]
);
</script>
</body>
</html>
Te hice esta función bastante completa y sencilla.
El primer parámetro es un selector css. Exactamente el mismo texto que le pasas a $("texto")
El segundo parámetro es el atributo que quieres en texto.
El tercer parámetro es el iterador del bucle, si lo omites empieza en 0.
El cuarto parámetro es un array. Puedes mandarle alguno para ahorrarte un join si juntas info. A parte lo utilizo para evitar crear una variable dentro de la función.
Se te retorna un array con el/los valor/es del/los atributo/s que le pediste. Puedes trabajar directamente con un valor añadiendo el índice como en el ejemplo. O puedes imprimirlos todos si quitas el índice.
También puedes hacer llamadas a si misma para obtener varios atributos.
alert(
obtenerAtributo("iframe", "outerHTML", 0,
obtenerAtributo("iframe", "src", 0 ,
obtenerAtributo("script", "innerHTML")
)
)
);