为什么javascript会添加一个随机样式标记?

为什么javascript会添加一个随机样式标记?,javascript,jquery,html,Javascript,Jquery,Html,我正在使用在线找到的脚本在html表单上添加输入提示。我让所有的工作,但现在的代码是随机生成的风格标签,摆脱了我的css。代码应该生成如下所示的跨度标记: <span id="input-prompt-0" class="input-prompt">Company Name</span> 公司名称 对于每个文本输入字段。相反,它一直给我这样的信息: <span id="input-prompt-0" class="input-prompt" style="dis

我正在使用在线找到的脚本在html表单上添加输入提示。我让所有的工作,但现在的代码是随机生成的风格标签,摆脱了我的css。代码应该生成如下所示的跨度标记:

<span id="input-prompt-0" class="input-prompt">Company Name</span>
公司名称
对于每个文本输入字段。相反,它一直给我这样的信息:

<span id="input-prompt-0" class="input-prompt" style="display: block;">Company Name</span>
公司名称
你知道为什么吗

代码如下:

$(document).ready(function(){
  $('input[type=text][title],input[type=password][title],textarea[title]').each(function(i){
    $(this).addClass('input-prompt-' + i);
    var promptSpan = $('<span class="input-prompt"/>');
    $(promptSpan).attr('id', 'input-prompt-' + i);
    $(promptSpan).append($(this).attr('title'));
    $(promptSpan).click(function(){
      $(this).hide();
      $('.' + $(this).attr('id')).focus();
    });
    if($(this).val() != ''){
      $(promptSpan).hide();
    }
    $(this).before(promptSpan);
    $(this).focus(function(){
      $('#input-prompt-' + i).hide();
    });
    $(this).blur(function(){
      if($(this).val() == ''){
        $('#input-prompt-' + i).show();
      }
    });
  });
});
$(文档).ready(函数(){
$('input[type=text][title]、input[type=password][title]、textarea[title])。每个(函数(i){
$(this).addClass('input-prompt-'+i);
var promptSpan=$('');
$(promptSpan).attr('id','input prompt-'+i);
$(promptSpan).append($(this.attr('title'));
$(promptSpan)。单击(函数(){
$(this.hide();
$('.+$(this.attr('id')).focus();
});
if($(this.val()!=“”){
$(promptSpan.hide();
}
$(此)。之前(promptSpan);
$(this.focus(function()){
$('#输入提示-'+i).hide();
});
$(this.blur(function()){
if($(this.val()=''){
$('#输入提示-'+i).show();
}
});
});
});
$('#输入提示-'+i).show()正在修改样式。从以下文件:

匹配的元素将立即显示,没有动画。 这大致相当于调用.css('display','block'),除了 显示属性恢复到最初的状态

我想更突出的问题是为什么这是“扔掉你的css”?

$(“#输入提示符-”+I).show()正在修改样式。从以下文件:

匹配的元素将立即显示,没有动画。 这大致相当于调用.css('display','block'),除了 显示属性恢复到最初的状态


我想更突出的问题是为什么这是“扔掉你的css”?

这行代码添加了样式属性:

$('#input-prompt-' + i).show();
您可以改为使用:

$('#input-prompt-' + i).css("display", "");

这将显示范围并消除样式属性。

这行代码添加了样式属性:

$('#input-prompt-' + i).show();
您可以改为使用:

$('#input-prompt-' + i).css("display", "");

这将显示范围并消除样式属性。

问题很可能与使用.show()和.hide()有关


这些函数改变元素的样式以发挥其魔力。

问题很可能与使用.show()和.hide()有关

这些函数改变元素的样式以发挥其魔力。