Очистить input label внутри DIV?


Уважаемые, приветствую всех! Может быть, это немного просто, но я предпочитаю быть в безопасности и спрашивать.

у меня есть div, в котором у меня есть несколько input, некоторые из них label, в которых я ссылаюсь на input file, таким образом;

<table class="title">
    <tr>
        <td style="width: 20%" >
            <input class="" value="1" type="checkbox" name="tipo_cert[]" id="tipo_cert_1" />
            <label for="tipo_cert_1">Para subir archivo</label>
        </td>
    </tr>
</table>
<br/><br/>
<div id="arch1" style="display: none;">
  <div id='file1' class="file">
    <input type="hidden" class="txtFile1" name="txtFile1" value="" />
    <label class="text" id='text1' for="6_1_adjn">Seleccione un archivo</label>
    <label for="6_1_adjn" >
        <input id="6_1_adjn" name="6_1_adjn"  class='fileInput required' type="file" value="" />    
    </label>
  </div>
</div>

используя checkbox, я заставляю div, содержащий этот код, появляться и исчезать. Затем, нажав на этот checkbox и исчезнув, вы должны очистить все input этого div. И это там, в где я застрял. Я очищаю hidden, мне удается снять флажок checkbox, но мне не удается очистить label, и если я помещаю .val('') в input file, он говорит мне: 'security issue', поэтому с input file я не буду тыкать =) ха-ха

мой код JS;

$('#tipo_cert_1').on('change', function () {
  if ($('#tipo_cert_1').is(':checked') == true) {
    $("#arch1").attr('style', 'display: block;');
  }else{
    $("#arch1").attr('style', 'display: none;');

    $("#arch1 input[type=checkbox]").prop("checked", false);
    // $("#arch1 input[type=label]").text("");
    // $("#arch1 input:label").text("");

  }
});

теперь влияет ли это на то, что это label находится внутри одного div что это внутри другого div? Вопрос, который, возможно, является причиной того, что я не могу очистить или добраться до этого label.

уважаемые, это мое беспокойство. Когда-то учитель меня он сказал, что единственный глупый вопрос, это тот, который не задается.

 1
Author: César, 2016-03-16

1 answers

label не являются типом input, они являются HTML-тегами, как и любые другие, если вы хотите переименовать label просто используйте их, как и любой другой tag:

$("#arch1 label").text("");

Обратите внимание, что вышеизложенное изменит текст всех label. Если вы хотите использовать какой-либо конкретный, вы можете использовать id, класс или использовать artibuto for label:

$("#arch1 #text1").text("");
$("#arch1 label.text").text("");
$("#arch1 label[for=6_1_adjn]").text("");

Теперь это влияет на то, что этот label находится внутри div, чем внутри другого div?

Нет, поиск выполняется по отношению ко всем "детям"#arch1

 1
Author: César, 2016-03-16 12:55:52