タイトルが私がやろうとしていることを正しく示しているかどうかはわかりませんが、その問題に名前を付ける方法がわかりません。
cssとjqueryを使用してinput[type="file"]要素にスタイルを追加しようとしています。これが私のコードです:
<div class="input-file">
<input type="file"><label>Select file...</label><button type="button">...</button>
</div>
ここで、INPUTには表示があります:スタイルがないため、表示されません。
Javascript:
$('.input-file > button').live('click',function() {
$('input[type="file"]').click(); });
ページ上に要素が1つしかない場合はうまく機能しますが、たとえば3つある場合は、ボタン1をクリックするたびに関数が3回起動されます。親要素であるだけに応答してほしい<div class="input-file">
.parentや.before、またはこれを実現するために機能する関数をどのように使用できますか?
編集:
@Chanduには素晴らしいソリューションがあります。
また、別の代替手段は$(this).prev()。prev()。click();です。要素が静的で、常に同じ位置にある場合。
@Chanduありがとうございます。