Jquery $(this).after('<div class =“loading”> </div>');问题?

时间:2011-09-20 09:43:29

标签: jquery

我在表单上使用onblur事件,目前将其作为加载工作的代码...

$('#username').after('<div class="loading"></div>');

只有这个才能用于用户名的id,我想把它改成(这个)就像

一样
$(this).after('<div class="loading"></div>'); 

反过来会使div出现在使用脚本的任何字段的输入字段之后,为什么这不会发生?

更新

试过以下也不起作用......我将类加载到输入字段。

$('.loading').(this).after('<div class="loading"></div>'); 

3 个答案:

答案 0 :(得分:3)

它必须附加但是因为div是空的它没有显示,请在萤火虫中看到它应该在那里。或者出于测试目的,您可以尝试

$("#username").blur(function(){

$(this).after('<div class="loading">test</div>');

});

看到这个小提琴http://jsfiddle.net/QxMWh/

和这一个http://jsfiddle.net/QxMWh/1/

答案 1 :(得分:1)

请改为尝试:

$('.loading', this).after('<div class="loading"></div>'); 

答案 2 :(得分:0)

所以,如果我理解正确, 你有一个表单,有几个字段有一个特定的脚本(验证或自动完成或类似的东西..)

现在你想在字段之后插入加载div,当它变得模糊时。

HTML:

<form id="myForm">
  <input class="toBeProcessed" type="text" id="Name"></input>  <!-- this field will be selected thanks to the class 'toBeProcessed' -->
  <input type="text" id="age"></input>  <!-- this field won't be processed -->
</form>

javascript(使用jquery):

$('#myForm input.toBeProcessed').blur(function(){
  var inputEl = $(this);
  inputEl.after('<div class="loading"></div>');

  doMyOtherScript(inputEl);
});

在同一个模糊事件中,您应该触发执行所需操作的脚本,之后脚本应该再次删除加载div ...