Seleccionar elementos con atributo de datos * no * utilizando jQuery

¿Existe una forma sencilla de obtener una lista de todos los elementos que contienen undata-* atributosin utilizando jQuery (y con suerte sin iterar todo el DOM-tree)?

Puedo encontrar muchas respuestas con jQuery, pero no puedo usarlas en mi proyecto y tampoco puedo encontrar respuestas con Javascript simple.

Por ejemplo si tengo este HTML:

<input data-mydata="data1">
<input data-mydata="data2">
<div data-mydata="data3"></div>
<div data-mydata="data4"></div>
<input>
<div></div>

y luego obtener una lista de todos los elementos, de cualquier tipo, que contienedata-mydata ?

Lo que trato de lograr es obtener datos de ciertos elementos para el almacenamiento en función de los datos, así como el valor de los datos.

Sé que puedo usar elname atribuir congetElementsByName pero eso no es posible usarlo en mi proyecto, ya que los elementos tienen nombres establecidos para otros propósitos.

Y creo que laquerySelectorAll Solo funciona con CSS (?).

Respuestas a la pregunta(1)

Su respuesta a la pregunta