标签: jquery-selectors

CSS选择器用于在id名称中选择带斜杠的id?

我已经<span id="/about-us">使用这个CMS生成了.

我想用jQuery选择这个元素,但它似乎不喜欢选择带有斜杠的元素.

这可能吗?

jquery jquery-selectors

36
推荐指数
4
解决办法
2万
查看次数

jQuery:选中已选中的复选框

假设我有以下HTML:

<form id="myform">
  <input type='checkbox' name='foo[]'/> Check 1<br/>
  <input type='checkbox' name='foo[]' checked='true'/> Check 2<br/>
  <input type='checkbox' name='foo[]'/> Check 3<br/>
</form>
Run Code Online (Sandbox Code Playgroud)

现在,如何选择名为'foo []'的已检查输入字段?

这是我的尝试,但它不起作用:

$("#myform input[name='foo']:checked:enabled");
Run Code Online (Sandbox Code Playgroud)

checkbox jquery input jquery-selectors

35
推荐指数
2
解决办法
6万
查看次数

如何选择与选择器匹配的第一祖先?

一般:

如何在jQuery中选择元素的第一个匹配祖先?

示例:

拿这个HTML块

<table>
    <tbody>
        <tr>
            <td>
                <a href="#" class="remove">Remove</a>
            </td>
        </tr>
        <tr>
            <td>
                <a href="#" class="remove">Remove</a>
            </td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我可以使用此jQuery代码单击"删除"来删除表中的行:

$('.remove').click(function(){
    $(this).parent().parent().hide();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这有效,但它非常脆弱.例如,如果有人将其<a>放入a中<div>,它就会破坏.jQuery中是否存在遵循此逻辑的选择器语法:

"这是一个元素,现在找到与某些选择标准相匹配的最接近的祖先并将其返回"

谢谢

jquery jquery-selectors

35
推荐指数
1
解决办法
1万
查看次数

类选择器中的jQuery类

<div class="outer">
     <div class="inner"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我怎么在这里找到内部div?

$container.find('.outer .inner')

只是要寻找一个div class="outer inner",这是正确的吗?

所以我试过了

$container.find('.outer > .inner')

但这似乎没有奏效.

编辑:

我知道很容易找到类似的东西

$container.find('.outer').find('.inner')

但我正在寻找那种读取更好的imho的单选择器语法.

jquery jquery-selectors

35
推荐指数
2
解决办法
9万
查看次数

最合适的方法:$($(".answer")[0])

假设我想要获得该类的所有元素中的第一个元素".answer"

$($(".answer")[0])
Run Code Online (Sandbox Code Playgroud)

我可以做到这一点,但优雅和速度之间的最佳平衡是什么?

*改变了问题以反映当前的讨论

javascript performance jquery jquery-selectors

35
推荐指数
3
解决办法
1800
查看次数

jquery选择器用于输入值

我这里有代码..

 <div>
    <input type="hidden" value="hello" />
 </div>

 <div>
    <input type="hidden" value="world" />
 </div>
Run Code Online (Sandbox Code Playgroud)

是否可以在内部选择值为"hello"的div并将所选div的颜色更改为红色......?

 $("div input[value='hello']").css("background","red"); //i have this in mind
                                                        //but i think its wrong:D
Run Code Online (Sandbox Code Playgroud)

任何帮助请..

jquery input jquery-selectors

35
推荐指数
2
解决办法
7万
查看次数

如何编写"if not class"jQuery选择器?

我想用var p做一些事情:

var p = $("li:last");
Run Code Online (Sandbox Code Playgroud)

但如果附加了某个类,我不想做任何事情.我试过了:不喜欢这个:

var p = $("li:last:not(.Class)");
Run Code Online (Sandbox Code Playgroud)

这不起作用.如何在我的var中排除.Class?

jquery jquery-selectors

35
推荐指数
2
解决办法
7万
查看次数

与jQuery相反:eq()

有没有人知道是否存在某种选择器来从匹配的集合中选择元素,但是由指示的索引给出的元素.例如:

$("li").neq(2).size();
Run Code Online (Sandbox Code Playgroud)

假设有5个元素,最后一个语句将给你4个,并且将包含<li>DOM中的所有元素,但第二个元素.

javascript jquery jquery-selectors

35
推荐指数
4
解决办法
2万
查看次数

你能为Bootstrap指定一个"数据目标",它指的是不使用ID的兄弟DOM元素吗?

我正在动态地向页面添加可折叠元素.Bootstrap使用"data-target"属性指定折叠切换应用于哪个元素.

来自文档:

The data-target attribute accepts a css selector
Run Code Online (Sandbox Code Playgroud)

有没有办法编写一个指定父元素的下一个兄弟的选择器?文档中的所有示例似乎都使用ID进行选择.

具体来说,HTML看起来像:

<div class="accordion-group">
<div class="accordion-heading">
  <a class="accordion-toggle" data-toggle="collapse" data-target="#collapseOne">
    Generated Title
  </a>
</div>
<div id="collapseOne" class="accordion-body collapse in">
  <div class="accordion-inner">
    Generated Content... this is big and sometimes needs collapsing
  </div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想写一些像(非法使用jquery语法的伪代码):

<a class="accordion-toggle" data-toggle="collapse" data-target="$(this).parent().next()">
Run Code Online (Sandbox Code Playgroud)

但我开始怀疑CSS选择器可能无法做到这一点.

现在作为一种解决方法,我在创建元素时生成一个新的ID(一个附加到字符串的递增数字).

使用选择器有更好的方法吗?我应该使用一些创建后的javascript来设置数据目标属性吗?为标准方法生成动态内容的ID?

javascript jquery-selectors twitter-bootstrap

35
推荐指数
3
解决办法
7万
查看次数

AngularJS DOM选择器

我有一些使用jQuery进行动画效果的自定义指令(angular的内置ngShow/ngHide等功能很强,但并不漂亮).我想我记得在文档中读取angular有自己的DOM选择器(类似于angular.export()或者angular.select())我应该使用而不是$(SELECTOR); 但是我现在找不到它.

我正在做这样的事情:

//view
<div scroll-to="element"> //`element` is set via ng-click
  …
</div>

//directive
link: function(scope, elm, attrs)
{

  scope.$watch(attrs.scrollTo, function scrollToAction(newValue,oldValue)
  {
    if ( newValue !== oldValue )
    {
      elm.animate({
        scrollTop:
          $('#'+newValue).offset().top //replace jquery selector with angular's
          - elm.offset().top
          + elm.scrollTop()
      });
    }
  });

}
Run Code Online (Sandbox Code Playgroud)

我并没有真正操纵$('#'+newValue),只是检索有关它的信息,所以我认为我不会对Angular犯罪.

javascript jquery-selectors angularjs angularjs-directive

35
推荐指数
2
解决办法
9万
查看次数