使用div元素';使用jQuery将文本作为占位符

使用div元素';使用jQuery将文本作为占位符,jquery,html,input,placeholder,Jquery,Html,Input,Placeholder,我有一个奇怪的问题/挑战。我使用的一个插件并没有为它们的输入字段使用真正的占位符,而是在输入字段下面使用div元素,现在,他们称之为占位符,非常奇怪 所以我想用一些jQuery来处理这个问题,这对我来说是一个新的层次,所以我尝试了第一步。我想看到的是div元素的文本被用作输入的实际位置。很明显,我可以用一个新属性调用每个输入并删除div,但是这就需要为每个输入编写20行代码,我希望有一个解决方案。所有输入字段有两个一致的HTML结构: html <div class="ps-form__f

我有一个奇怪的问题/挑战。我使用的一个插件并没有为它们的输入字段使用真正的占位符,而是在输入字段下面使用div元素,现在,他们称之为占位符,非常奇怪

所以我想用一些jQuery来处理这个问题,这对我来说是一个新的层次,所以我尝试了第一步。我想看到的是div元素的文本被用作
输入的实际位置。很明显,我可以用一个新属性调用每个输入并删除div,但是这就需要为每个输入编写20行代码,我希望有一个解决方案。所有输入字段有两个一致的HTML结构:

html

<div class="ps-form__field ">
    <input type="email" name="email" id="email" class="ps-input email" >
    <div class="ps-form__field-desc lbl-descript">email address</div>
</div>

<div class="ps-form__field">
    <div class="ps-form__field-inner">
        <input type="text" value="" id="profile_field_name" data-id="name" class="ps-input">
    </div>
    <div class="ps-form__field-desc lbl-descript">First name</div>
</div>
我知道上面可能有很多错误,但这对我来说是新的。

你可以用这个:

$(document).ready(function() {
  $('.ps-form__field input').attr("placeholder",function() {
    return $(this).closest(".ps-form__field").find('.lbl-descript').text()
  });
  $('.lbl-descript').remove()
});
它将选择每个输入,并将
占位符
属性设置为相应的
.lbl descript
文本

工作演示

$(文档).ready(函数(){
$('.ps-form__字段输入').attr(“占位符”,函数(){
返回$(this).closest(“.ps-form\uu字段”).find('.lbl descript').text()
});
$('.lbl descript').remove()
});

电子邮件地址
名字
您可以使用以下方法:

$(document).ready(function() {
  $('.ps-form__field input').attr("placeholder",function() {
    return $(this).closest(".ps-form__field").find('.lbl-descript').text()
  });
  $('.lbl-descript').remove()
});
它将选择每个输入,并将
占位符
属性设置为相应的
.lbl descript
文本

工作演示

$(文档).ready(函数(){
$('.ps-form__字段输入').attr(“占位符”,函数(){
返回$(this).closest(“.ps-form\uu字段”).find('.lbl descript').text()
});
$('.lbl descript').remove()
});

电子邮件地址
名字