如果输入文本字段有一些 class 使用 jquery 如何添加属性

How to add an attribute if input text field has some class using jquery

我想将 css 属性添加到文本字段,如果它包含 class。这是我的代码:

 <input type="text" placeholder="Your Name" class="masterTooltip" />

这是我的 jquery 脚本:

 <script type="text/javascript">
   $(document).ready(function() {
      $('input[type=text]').hasClass("masterTooltip").css( "title","Text Field");
   });
 </script>

使用attr()代替css()

$(document).on('click', 'input[type=text]', function() {
  if ($(this).hasClass("masterTooltip")) {
        $(this).attr( "title", "Text Field");
    }
})
    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" placeholder="Your Name" class="masterTooltip" />

hasClass() returns true,如果找到此 class 的元素或 false,如果找不到此 class 的元素,但不是元素。

到 class 的 select 个元素,执行以下操作:

$('input[type=text] .masterTooltip')

然后,由于您不打算将 "Text Field" 分配给名为 "title" 的 css 属性,而是想将其分配给 html 属性,在这种情况下使用 css() is incorrect in this case. You can use attr()

$('input[type=text] .masterTooltip').attr("title","Text Field")

为什么不能这么简单使用??

 $(document).ready(function() {
    $('input[type=text].masterTooltip').attr( "title", "Text Field");
 });

DEMO

可能您想将 title 属性添加到具有 class 的输入,您需要这样做

$("input.masterTooltip").attr("title", "Text Field");