我已经<span id="/about-us">使用这个CMS生成了.
我想用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) 一般:
如何在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中是否存在遵循此逻辑的选择器语法:
"这是一个元素,现在找到与某些选择标准相匹配的最接近的祖先并将其返回"
谢谢
<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的单选择器语法.
假设我想要获得该类的所有元素中的第一个元素".answer"
$($(".answer")[0])
Run Code Online (Sandbox Code Playgroud)
我可以做到这一点,但优雅和速度之间的最佳平衡是什么?
*改变了问题以反映当前的讨论
我这里有代码..
<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)
任何帮助请..
我想用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?
有没有人知道是否存在某种选择器来从匹配的集合中选择元素,但是由指示的索引给出的元素.例如:
$("li").neq(2).size();
Run Code Online (Sandbox Code Playgroud)
假设有5个元素,最后一个语句将给你4个,并且将包含<li>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?
我有一些使用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犯罪.