Добавление или добавление ВНУТРИ тега

#javascript #jquery #html #input

#javascript #jquery #HTML #ввод

Вопрос:

Я работаю с пользовательской CMS с помощью пользовательского конструктора форм. Нет возможности использовать пользовательский заполнитель для поля ввода.

У меня есть входной тег как таковой:

 <input type="text" style="width:390px;" id="Optiona200368a" maxlength="120" name="ctl00$MainContent$ctl00$Optiona200368a">
  

Мне нужен входной тег для чтения

 <input placholder="Email Address" type="text" style="width:390px;" id="Optiona200368a" maxlength="120" name="ctl00$MainContent$ctl00$Optiona200368a">
  

Есть ли какой-либо способ добиться этого с помощью jQuery?
Спасибо!

Комментарии:

1. Атрибут-заполнитель HTML5 не заменяет элемент label

2. Так что дайте ему placeholder атрибут. В чем проблема? Вы, конечно, не будете этого делать .append . Это не имеет смысла.

3. Я настоятельно рекомендую вам потратить час или два на чтение документации по API jQuery . Это действительно занимает не так много времени и окупается очень быстро.

4. Спасибо, Ти Джей … это забавно, потому что я просто собирался признать и спросить вас, что я действительно всесторонне развитый дизайнер и очень хорошо разбираюсь в основах jQuery… Я просто не знаю, как написать это сам, поэтому я собирался спросить, где я могу найти основы, чтобы иметь возможность писать подобные вещи самостоятельно. Так что еще раз спасибо, действительно ценю это!

5. @user3758185: ЛОЛ, рад помочь. 🙂

Ответ №1:

Итак, вам нужно добавить placeholder атрибут. Да, вы можете сделать это с помощью jQuery:

 $("#Optiona200368a").attr("placeholder", "Email Address");
  

Если id это ненадежно, вы можете использовать любой другой CSS-селектор в $() бите, чтобы найти элемент.

Важно, чтобы код, добавляющий атрибут, выполнялся после того, как элемент уже существует. Лучший способ убедиться в этом — поместить script тег, содержащий его, в нижней части документа, непосредственно перед закрывающим </body> тегом. Однако, если вы не контролируете, куда отправляется скрипт (а с некоторыми CMS вы этого не делаете), вы можете обернуть код в «готовый» обработчик jQuery следующим образом:

 $(function() {
    $("#Optiona200368a").attr("placeholder", "Email Address");
});
  

Это откладывает код внутри функции до завершения основного синтаксического анализа и загрузки HTML, даже если скрипт находится над телом.

Комментарии:

1. Отлично, понял! Спасибо миллион!

2. @Jason: Не забывайте, что есть 15-минутное время защиты, в течение которого OPs не может принимать никаких ответов. 🙂 Поэтому, когда все происходит действительно быстро, они должны вернуться позже и сделать это. (Но спасибо.)