2015-12-17 19 views
7

posso mettere un segnaposto tramite jQuery se v'è una sola <input> sulla pagina:Mettere segnaposto utilizzando jQuery/Javascript

<input type="text"/> 

$(document).ready(function() { 
    placeholders(); 
    function placeholders() { 
     $('input[type=text]').each(function() { 

      $(this).attr('placeholder', 'hello'); 
     }); 
    } 
}); 

Tuttavia, ho più <input> campi in una singola pagina, come di seguito:

<input type="text" class="first"> 
<input type="text" class="second"> 

Desidero aggiungere un segnaposto solo sul primo <input type="text"> che dispone di class="first".

Come posso aggiungere un segnaposto solo al primo testo corrispondente input?

risposta

2

desidero aggiungere un segnaposto solo sul primo che ha class = "primo".

Come posso aggiungere un segnaposto solo al primo input di testo corrispondente?

Provare a utilizzare document.querySelector() con selettore "input[type=text][class=first]", setAttribute()

function placeholders() { 
 
    document.querySelector("input[type=text][class=first]") 
 
    .setAttribute("placeholder", "hello"); 
 
} 
 

 
$(document).ready(placeholders);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 
<input type="text" class="first"> 
 
<input type="text" class="second">

1
$('input[type=text].first').attr('placeholder', 'hello'); 

utilizzando il selettore

1

class Si può provare questa soluzione:
$('input[type=text].first').attr('placeholder', 'hello');

3
$('input[type=text].first').attr('placeholder', 'hello'); 

Qui input selezionerà tutte le input tag, [type=text] sarà selezionare l'ingresso il cui tipo è il testo e poi .first selezionerà un sottoinsieme con la classe first.

Se si desidera selezionare il primo ingresso con first classe poi fare $('input[type=text].first').first()

0

se si desidera uno script specifico elemento, utilizzare ID al posto di classe per migliorare le prestazioni.

<input type="text" class="first" id="first"> 

$("#first").attr('placeholder', 'hello');