使用jQuery通过id更新占位符

时间:2016-10-27 07:24:40

标签: javascript jquery html

我在html中有一个输入字段,它在函数中“动态”创建:

'<input id="id1'+var1+'" name="id1" type="text" placeholder="Provide IP"/>'

在javascript中的同一个函数中,我试图通过以下方式更改占位符文本:

$("#id1"+var1).attr("placeholder",arr[i]);

它不起作用!!数组arr也在函数中得到更新 还有其他选项:

$("#id1"+var1).attr("placeholder",arr[i]).blur();
$("#id1"+var1).attr("placeholder",arr[i]).placeholder();
$("#id1"+var1).attr("placeholder",arr[i]).val("").focus().blur();

不起作用。它仅保留以前的占位符文本!!怎么解决这个?我正在使用谷歌浏览器

2 个答案:

答案 0 :(得分:1)

加载dom后,您无法进行更改。试试这个:

$(document).ready(function(){
  $("#id1").attr("placeholder","IP changed"); 
})

&#13;
&#13;
$(document).ready(function() {
  var i = 0;
  var j = i - 1
  var myArray = ["firts text", "second text", "and so on"]
  $("#button").click(function() {
    if (i > 2) {
      i = 0;
    }
    $('input').each(function() {
      if ($(this).attr('placeholder') == "Provide IP" || $(this).attr('placeholder') == myArray[j]) {
        $(this).attr("placeholder", myArray[i]);
        return false;
      }
    })
    i++;
    j++;
    if (j > 2) {
      j = i - 1;
    }
  })
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="id1" name="id1" type="text" placeholder="Provide IP" />
<input type="button" id="button" value="Click me" />
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

 <input id="id1"+var1 name="id1" type="text" placeholder="Provide IP"/>

你有“在id上的错误位置。