标签: jquery-selectors

"所有但不是"jQuery选择器

我可以选择(使用jQuery)HTML标记中的所有div,如下所示:

$('div')
Run Code Online (Sandbox Code Playgroud)

但是我想从上面的选择中排除一个特定的div(比如说有id="myid").

如何使用Jquery函数执行此操作?

javascript jquery jquery-selectors

81
推荐指数
4
解决办法
8万
查看次数

jQuery选择器中前导冒号的目的是什么?

我已经开始使用Wijmo工具包了,并且在他们的文档页面中遇到了很多与此相似的示例选择器:

$(":input[type='radio']").wijradio();
Run Code Online (Sandbox Code Playgroud)

我这样写过我的:

$('input[type=radio]').wijradio();
Run Code Online (Sandbox Code Playgroud)

这些是做同样的还是我缺少的东西?

请注意,上面有两个不同之处:第一个选择器以冒号为前缀,并为输入类型提供引号.

jquery jquery-selectors

79
推荐指数
3
解决办法
2万
查看次数

jQuery:选择具有自定义属性的所有元素

可能重复:
jQuery,按属性值选择,添加新属性
jQuery - 如何按属性选择

请考虑以下代码:

<p>11111111111111</p>
<p MyTag="nima">2222222222</p>
<p>33333333333</p>
<p MyTag="Sara">>4444444444</p>
Run Code Online (Sandbox Code Playgroud)

如何选择p带属性的所有标签MyTag

谢谢

javascript jquery jquery-selectors

79
推荐指数
2
解决办法
12万
查看次数

jQuery scrollTop无法在Chrome中运行但在Firefox中工作

我已经scrollTop在jQuery中使用了一个函数来导航到顶部,但奇怪的是"平滑的动画滚动"在我做了一些更改后停止在Safari和Chrome中工作(滚动没有平滑的动画).

但它仍然在Firefox中顺利运行.可能有什么不对?

这是我使用的jQuery函数,

jQuery的:

$('a#gotop').click(function() {
    $("html").animate({ scrollTop: 0 }, "slow");
    //alert('Animation complete.');
    //return false;
});
Run Code Online (Sandbox Code Playgroud)

HTML

<a id="gotop" href="#">Go Top </a>
Run Code Online (Sandbox Code Playgroud)

CSS

#gotop {
      cursor: pointer;
      position: relative;
      float: right;
      right: 20px;
      /*top:0px;*/
}
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-selectors

78
推荐指数
4
解决办法
9万
查看次数

使用jQuery获取所选的选项ID

我正在尝试使用jQuery根据选定的选项发出ajax请求.

有没有一种简单的方法来使用jQuery 检索所选的选项ID(例如"id2")?

<select id="my_select">
   <option value="o1" id="id1">Option1</option>
   <option value="o2" id="id2">Option2</option>
</select>


$("#my_select").change(function() {
    //do something with the id of the selected option
});
Run Code Online (Sandbox Code Playgroud)

jquery dom jquery-selectors

75
推荐指数
4
解决办法
19万
查看次数

找到下一个匹配的兄弟姐妹的高效,简洁的方法?

坚持官方的jQuery API,有没有更简洁,但不是低效率,发现比其他指定选择相匹配的元素的下一个兄弟的方式nextAll:first伪类?

当我说官方API时,我的意思是不是黑客攻击内部,直接进入Sizzle,在混合中添加一个插件等等(如果我最终必须这样做,那就这样吧,但这不是这个问题的答案. )

例如,鉴于此结构:

<div>One</div>
<div class='foo'>Two</div>
<div>Three</div>
<div class='foo'>Four</div>
<div>Five</div>
<div>Six</div>
<div>Seven</div>
<div class='foo'>Eight</div>
Run Code Online (Sandbox Code Playgroud)

如果我有一个divin this(也许在一个click处理程序中,无论如何)并且想要找到与选择器"div.foo"匹配的下一个兄弟div,我可以这样做:

var nextFoo = $(this).nextAll("div.foo:first");
Run Code Online (Sandbox Code Playgroud)

...它有效(例如,如果我从"五"开始,它跳过"六"和"七"并为我找到"八"),但它很笨重,如果我想匹配任何一个的第一个几个选择器,它变得更加笨拙.(当然,这是一个很多更简洁比原始DOM循环将是...)

我基本上想要:

var nextFoo = $(this).nextMatching("div.foo");
Run Code Online (Sandbox Code Playgroud)

......哪里nextMatching可以接受全系列的选择器.我总是感到惊讶,next(selector)不这样做,但事实并非如此,并且文档清楚它的作用,所以......

我可以随时编写并添加它,但如果我这样做并坚持使用已发布的API,事情会变得非常低效.例如,一个天真的next循环:

jQuery.fn.nextMatching = function(selector) {
    var match;

    match = this.next();
    while (match.length > 0 && !match.is(selector)) {
        match = match.next();
    }
    return match;
};
Run Code Online (Sandbox Code Playgroud)

...... 明显nextAll("selector:first").这并不奇怪,nextAll可以把整个事情交给Sizzle,而Sizzle已经彻底优化了.上面的天真循环创建并丢弃各种临时对象,并且每次都必须重新解析选择器,没有什么大惊喜它很慢.

当然,我不能只是抛出一个:first …

jquery jquery-selectors

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

jQuery - multiple:not selector

我正在尝试定位不以'#'开头的页面范围的链接,并且不包括内联javascript但是我在确定如何正确构造选择器时遇到问题.

根据我用Google搜索的多个选择器,这应该有效,两个选择器都可以独立工作,而不是一起工作!

$('a:not([href*=javascript]), a:not([href^=#])')
.each(function(){...
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

75
推荐指数
3
解决办法
6万
查看次数

JQuery - 如何根据值选择下拉项

我想根据条目的值设置下拉列表(select)进行更改.

我有

<select id="mySelect">
  <option value="ps">Please Select</option>
  <option value="ab">Fred</option>
  <option value="fg">George</option>
  <option value="ac">Dave</option>
</select>
Run Code Online (Sandbox Code Playgroud)

而且我知道我想要更改下拉列表,以便选择值为"fg"的选项.我怎么能用JQuery做到这一点?

javascript jquery select jquery-selectors

75
推荐指数
6
解决办法
20万
查看次数

如果您的选择器对象无效,为什么不jQuery炸弹?

最近使用了一些代码

$("#divMenuContainer:visible").hide("explode");
Run Code Online (Sandbox Code Playgroud)

然而,经过一段时间试图让它工作,我意识到我的选择器引用了一个不存在的div.

查询的结果只是它没有执行.

显然这是设计,任何人都可以解释为什么这个设计选择的逻辑,而不是提出某种例外?

不试图批评只是试图理解.

javascript jquery jquery-selectors

73
推荐指数
5
解决办法
6007
查看次数

jQuery查找并替换字符串

我在网站上有一个特定的文本,让我们说"lollypops",我想用"marshmellows"替换这个字符串的所有出现.问题是我不知道文本的确切位置.我知道我可以这样做:

$(body).html($(body).html().replace('lollypops', 'marshmellows'));
Run Code Online (Sandbox Code Playgroud)

这可能会有效,但我需要尽可能少地重写HTML,所以我想的是:

  1. 搜索字符串
  2. 找到最近的父元素
  3. 仅重写最接近的父元素
  4. 甚至在属性中替换它,但不是全部,例如替换它class,但不是src

在示例中,我会有这样的结构

<body>
    <div>
        <div>
            <p>
               <h1>
                 <a>lollypops</a>
               </h1>
            </p>
            <span>lollypops</span>
        </div>
    </div>
    <p>
       <span class="lollypops">Hello, World!</span>
       <img src="/lollypops.jpg" alt="Cool image" />
    </p>
<body>
Run Code Online (Sandbox Code Playgroud)

在这个例子中,每次出现的"lollypops"都会被替换,只会<img src="...保持不变,而实际操作的唯一元素将是<a>两个<span>s.
有人知道怎么做这个吗?

javascript jquery jquery-selectors

72
推荐指数
5
解决办法
36万
查看次数

标签 统计

jquery ×10

jquery-selectors ×10

javascript ×5

dom ×1

jquery-ui ×1

select ×1