代码之家  ›  专栏  ›  技术社区  ›  shin

如何向li添加一个类,它可以是jquery输入的第一个、第二个或第三个父级?

  •  0
  • shin  · 技术社区  · 15 年前

    当我用jquery单击输入字段时,我想向父li添加一个名为'focused'的类。

    <form action="http://localhost/daikon2/index.php/projects/admin/newproject" method="post"><ul id="createproject">
    <li id="proname" class="">
    <label for='project_name'>Project Name</label>
    <div><input type="text" name="project_name" value="" id="project_name" size="20"  /></div></li>
    
    <li id="tothou" class="" >
    <label for='total_hr'>Total hour</label>
    <div><input type="text" name="total_hr" value="" id="total_hr" size="10"  /></div>
    </li>
    <li id="act" class=""><label for="active">Active</label><div><span>Yes<input type="radio" name="active" value="1" checked="checked" id="active" /></span><span>No<input type="radio" name="active" value="0"  /></span>
    
    </div>
    </li>
    <li id="by" class""><label for='created_by'>By</label>
    <div><select name="created_by">
    <option value="admin">admin</option>
    <option value="admin2">admin2</option>
    </select></div>
    </li><li id="noteli" class=""><label for='note'>Note</label>
    <div><textarea name="note" cols="90" rows="12" id="note" ></textarea></div>
    </li>
    <li>
    <input type="hidden" name="id" value="6" />
    
    </li>
    <li id="submitbtn" class""><input type="submit" name="submit" value="Create New Project"  /></li>
    </form>
    </ul>
    

    提前谢谢。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Nick Craver    15 年前

    .closest() 向上爬到与选择器匹配的最近父级,如下所示:

    $(":input").focus(function() {
      $(this).closest("li").addClass("focused");
    }).blur(function() {
      $(this).closest("li").removeClass("focused");
    });
    

    You an test it out here . 一些旁注:你的 </form> 之后 </ul> 以及 #submitbtn 元素需要 = 对于 class""

        2
  •  0
  •   Deniz Dogan    15 年前

    不知道你在问什么,但你可以试着做:

    $(this).closest('li').addClass('foobar');