Jquery条件选择器

时间:2013-06-24 06:19:03

标签: jquery

条件选择器出了问题。我有一些输入字段。我想要使​​用required属性更改空字段的边框颜色。

我尝试了什么:

$("[required='required']").css({
      "border": "1px solid #FF0000",
      "background": "#FFEFFF"
  });

  $("[required='required']").blur(function ()  {
    comp(this);
  });

$("[required='required']").keyup(function ()  {
    comp(this);
  });

$("[required='required']").click(function ()  {
    comp(this);
  });

  function comp(a) {
      if ($(a).val() !== "")
          $(a).css({
          "border": "1px solid #ccc",
          "background": ""
      });

      else $(a).css({
          "border": "1px solid #FF0000",
          "background": "#FFEFFF"
      });

  }

以下链接指向:http://jsfiddle.net/guwanchat/HjzVu/14/

1 个答案:

答案 0 :(得分:1)

我认为您的问题是您没有根据comp函数初始化您的元素。

我修改了你的起始代码:

$("[required='required']").css({
      "border": "1px solid #FF0000",
      "background": "#FFEFFF"
});

到此:

$("[required='required']").each(function () {
    comp(this);
});

我使用jQuery each函数来迭代与选择器匹配的对象,并调用comp函数来初始化它们。

jQuery.each()

  

描述:一个通用的迭代器函数,可用于   无缝迭代对象和数组。数组和数组   具有length属性的对象(例如函数的arguments对象)   由数字索引迭代,从0到length-1。其他对象是   通过命名属性进行迭代。

这是一个小提琴:http://jsfiddle.net/HjzVu/19/