<div id="container"> <div tabindex="0">Tabbable content 1</div> <div>Non Tabbable content 2</div> <button type="submit">Submit</button> <label>First Name: <input type="text" /></label> <iframe height="600" width="600" src="iframe.html"></iframe> </div> Iframe.html <label>Last Name: <input type="text" /></label> <div tabindex="0">Tabbable content inside iframe</div> Quiero encontrar todos los elementos que coincidan con este selector dentro de un contenedor [tabindex="0"],a,input,select,button .
Salida esperada: se Tabbable Content 1 , button , First Name input de last name input , Tabbable content inside iframe .
Probé $('[tabindex="0"],a,input,select,button', $('#container')), document.querySelector('#container').querySelectorAll('[tabindex="0" ],a,entrada,seleccionar,botón')
Considere lo siguiente: https://jsfiddle.net/Twisty/hzpvxowc/
JavaScript
$(function() { var myElems = $('[tabindex], a, input, select, button', "#container").add($('[tabindex], a, input, select, button', $("iframe").contents())); console.log(myElems.length); }); Esto muestra 5 en la consola, que es lo que se espera.
Ver más: https://api.jquery.com/add/
Si desea seleccionar un elemento del iframe, primero debe seleccionar el contenido del iframe y luego encontrar el elemento de destino dentro del contenido del marco. Por ejemplo, imagine que tenemos un iframe con id frm1 y queremos seleccionar todas las entradas en el marco:
$("#frm1").contents().find("input");o
let iframe= $("#frm1"); $('input', iframe.contents());