当textarea聚焦时,将类添加到元素

时间:2016-04-09 22:51:41

标签: javascript jquery html focus

当textarea处于活动状态时,我正在尝试将一个类添加到我的p元素

这是我到目前为止没有运气的原因。

  connectionString = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C:\Users\Work\Documents\Visual Studio 2015\Projects\MyTest\MyTest\Database.mdf";Integrated Security=True;Connect Timeout=30";

的jQuery

 connectionString = "Data Source=localhost\\SQLExpress;Initial Catalog=Databasen;User ID=admin;Password=password";

我想要完成的最终结果是当textarea聚焦时

<textarea class="text"></textarea>
  <p class="someClass">
    <span class="span">
      TEXT
    </span>
  </p>

可以通过抓住集合类“someClass”来完成吗?

2 个答案:

答案 0 :(得分:2)

你实际上做错了。您应该通过发送匿名函数来执行此操作:

$('textarea').focus(function () {
   $(".someClass").addClass("focused");
});

你错过了。我会说更好的方法,如果.someClass位于相关元素的旁边,您可以使用CSS的兄弟选择器+,而不使用JavaScript:

textarea:focus + p {
  background: #99f;
}
<textarea></textarea>
<p>Click on TextArea</p>

答案 1 :(得分:0)

您应该为focus事件处理程序提供匿名函数。试试这个:

$('textarea').focus(function() {
   $(".someClass").addClass("focused");
});

另请注意,您可以在CSS中单独执行此操作,而无需任何JS代码。使用CSS方法可以在textarea失去焦点时自动删除样式。

textarea:focus + p {
    /* styles in here which matched the .focused class */
}

ECMAScript