2015-06-25 68 views
0

我試圖將密碼添加到沒有class或id的輸入中。在沒有選擇器的輸入處添加密碼jquery

這是我的代碼:

<form> 
    <div class="something"> </div> 
    <input type="password" name="password" placeholder="password"> 
    <input type="submit" value="Watch Video"> 
</form> 

而且我想是這樣的:

jQuery(document.ready(function($){ 
    $('.something').next().write('password'); 
}); 

我怎麼能做到嗎? 並把密碼後,我可以提交下一個輸入?

+0

小小的點,但在這種情況下,我會建議'div#something'比'div.something'更合適,因爲我推斷你想引用這個單一的獨特元素。 – d0ug7a5

回答

2

爲了更改輸入字段的值,您需要將字符串傳遞給value屬性。

$('.something').next().prop('value', 'password'); 

或者您也可以使用簡寫val()方法填充值屬性:

$('.something').next().val('password'); 

我也建議不要使用next功能,因爲這意味着你依賴的訂貨100% HTML元素。我會建議使用一個選擇是這樣的:作爲密碼字段是相同的層次結構.something元素

$('.something').siblings('input:password').val('password'); 

這個選擇將永遠只要工作。

參考 - https://api.jquery.com/siblings/

+1

很好解釋,感謝提示依賴於HTML的順序,但在這種情況下,訂單將是100%,但非常感謝! – ntzz

2

您使用val設置input元素的值,而不是write(沒有jQuery write函數)。除此之外,您的代碼是正確的:

jQuery(document.ready(function($){ 
    $('.something').next().val('password'); 
    // --------------------^ 
}); 
2

使用VAL(),而不是寫。

$('.something').next().val('password'); 

val()方法返回或設置所選元素的值屬性。

用於返回值時: 此方法返回FIRST匹配元素的value屬性的值。

用於設置值時: 該方法設置所有匹配元素的值屬性的值。

注意:val()方法主要用於HTML表單元素。