小编Ric*_*Zea的帖子

jQuery:通过.attr()添加两个属性; 方法

编辑:

我了解到使用其他价值_blank,而不是在移动浏览器上工作以打开新的窗口/标签.

例如,如果您需要打开一个新窗口/选项卡:

  • 这适用于所有浏览器,甚至是移动浏览器:target="_blank".

  • 这不适用于移动浏览器,但它可以在桌面浏览器上运行:target="new".

-

虽然我有这个工作,但我不确定是否有更好的方法,或者我得到它的方式是正确/唯一的方式.

基本上我正在做的是将所有target="_new"target="_blank"属性值替换为target="nw",这样只打开一个新窗口,并且在其中打开所有其他新窗口以便不会使具有多个窗口的用户不堪重负.

我还添加了" 在新窗口中打开 " title=""属性.

所以我创建的解决方案是这样的:

$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Run Code Online (Sandbox Code Playgroud)

注意这两种.attr();方法.

这是向元素添加两个属性的正确方法吗?

我试过.attr('target','nw','title','Opens in a new window')但它没用.

我问的原因是因为DYR(不要重复自己)原则,所以如果我可以改进我的代码,那么很好,如果没有,那就是它的本质.

谢谢.

jquery

98
推荐指数
3
解决办法
13万
查看次数

jQuery中的单引号或双引号

可能重复:
何时在JavaScript中使用双引号或单引号

这是专门针对jQuery而不是JavaScript,因为我不是JavaScript程序员而且我开始学习jQuery.

随着jQuery 1.6的发布,使用单引号还是双引号有一个特定的变化?

例如,以下函数是否可以在jQuery 1.6中运行?:

$('.selector').show();
Run Code Online (Sandbox Code Playgroud)

或者我必须使用双引号?:

$(".selector").show();
Run Code Online (Sandbox Code Playgroud)

提前感谢您的任何澄清.

javascript jquery

60
推荐指数
3
解决办法
5万
查看次数

计算经过的时间

我正在寻找一些JavaScript简单的样本来计算经过的时间.我的方案是,对于JavaScript代码中的特定执行点,我想记录一个开始时间.在JavaScript代码的另一个特定执行点,我想记录一个结束时间.

然后,我想以以下形式计算经过的时间:结束时间和开始时间之间经过了多少天,小时,分钟和秒,例如:0 Days, 2 Hours, 3 Minutes and 10 Seconds are elapsed.

任何参考简单样品?:-)

提前致谢,

乔治

javascript datetime

59
推荐指数
6
解决办法
13万
查看次数

定位第一级<li>而不是嵌套<li>

我有以下HTML:

<ul>
  <li>A
    <ul>
      <li>subsection</li>
    </ul>
  </li>
  <li>B
    <ul>
      <li>subsection</li>
    </ul>
  </li>
  <li>C
    <ul>
      <li>subsection</li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用jQuery,我如何定位第一级<li>s?

例如,我需要将字体粗体显示为悬停在<li>带有字母A,B和C 的s上,但不要将该字体样式应用于嵌套的<li>s(带有名称子部分).

如果你想使用它,这是一个初始的jsfiddle DEMO.

谢谢.

编辑 -

解:

儿童选择者,这就是答案.

不需要jQuery,这可以使用CSS完成.

这是更新的DEMO

编辑 -这是一个更清晰的演示

谢谢,

css jquery html-lists

53
推荐指数
3
解决办法
8万
查看次数

Sass:浏览器供应商前缀

我对Sass/Compass非常陌生,所以这个问题对你们很多人来说可能听起来很愚蠢.

无论如何,我需要知道的是如何为浏览器供应商前缀创建一个mixin,我可以反复重用,而不必每次都输入它们.

我在网上看过教程,但我无法理解我需要能够正确应用它们的一些概念.

我现在需要的是在CSS中完成这个:

* { 
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;          
        -ms-box-sizing:border-box; 
         -o-box-sizing:border-box; 
            box-sizing:border-box; 
  }
Run Code Online (Sandbox Code Playgroud)

谢谢.

sass

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

简单的JavaScript版本的e.preventDefault();

使用以下基于jQuery的脚本,您可以停止虚拟链接的默认操作,即: <a href="#">

$('a').click(function(e) {
  e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

这个剧本的普通版本是什么?

我不是一个JavaScript程序员,但我认为它可能是一个使用的东西return false;.再说一遍,我可能完全错了.

在此先感谢您的帮助.

javascript jquery

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

通用选择器*和伪元素

通用选择器是否*影响像:before和的伪元素:after

让我举一个例子:

这样做时:

* { box-sizing: border-box; }
Run Code Online (Sandbox Code Playgroud)

......没有上述声明包括自动/影响伪元素,如:before:after呢?

或者,为了影响像:before和的伪元素:after,必须声明这个?

*, *:before, *:after { box-sizing: border-box; }
Run Code Online (Sandbox Code Playgroud)

这有意义吗?


我总是使用just * { box-sizing: border-box; }而且从来没有任何关于伪元素的问题.但我看到许多教程正在做,*, *:before, *:after但他们从未真正解释为什么它们包含*:before, *:after在声明中.

css css-selectors pseudo-element

17
推荐指数
2
解决办法
2548
查看次数

jQuery:从选择下拉列表中显示一个元素,在选择其他选项时隐藏它

我试过四处寻找并且有类似的问题,但我的方法更简单,但是,我在这些论坛中找不到解决方案.

在学习jQuery时,我试图在选择选择下拉列表中的项目/选项时显示DIV,并在选择下拉列表中的任何其他选项时隐藏相同的DIV.

选择HTML:

<select name="source" id="source">
  <option value="null" selected="selected">&mdash;Select&mdash;</option>
  <option value="s1">Source 1</option>
  <option value="s2">Source 2</option>
  <option value="sother">Other</option>
</select>
Run Code Online (Sandbox Code Playgroud)

DIV我需要在选择"其他"时显示:

<div id="specify-source">Other source here...</div>
Run Code Online (Sandbox Code Playgroud)

如果选择了选择菜单中的任何其他选项,则不应显示上述DIV.

我试过这个jQuery但当然它不能正常工作:

$(function() {  
 $.viewMap = {
  'sother' : $('#specify-source')
   };    
   $('#source').change(function() {
  // hide all
  $.each($.viewMap, function() { this.hide(); });
  // show current
  $.viewMap[$(this).val()].show();
   });
});
Run Code Online (Sandbox Code Playgroud)

你能给我的任何帮助,我都非常感激.

谢谢,

jquery select

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

jQuery:在3个类之间切换(最初)

我在SO上看过几篇帖子,但它们在功能和结构方面都太具体了,而我正在寻找的东西是我或任何人都可以在任何地方使用的更普遍的东西.

我只需要一个按钮,点击它可以在3个类之间循环.但是如果出现需要循环浏览4,5个或更多类的情况,则可以轻松地缩放脚本.

到目前为止,我能够在两个班级之间"循环",这基本上比骑车更"切换",所以我有:

HTML:

<a href="#" class="toggle">Toggle classes</a>
<div class="class1">...</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('.toggle').click(function () {
  $('div').toggleClass('class1 class2');
});
Run Code Online (Sandbox Code Playgroud)

这是一个简单的小提琴.

现在,你会(我,我)认为在该方法中添加第三个类可以工作,但它不会:

$('div').toggleClass('class1 class2 class3');
Run Code Online (Sandbox Code Playgroud)

发生的事情是,切换开始发生在class1和之间class3.

所以这就是我最初的问题:如何让Toggle按钮按顺序循环通过3个类?

然后:如果有人需要循环到4个,5个或更多课程怎么办?

javascript jquery

8
推荐指数
2
解决办法
9430
查看次数

.mouseleave()与.delay()一起工作

我有几个'触发器'(<li>s)的列表,每个触发器显示一个特定的DIV,每个DIV都有'关闭'按钮.

现在,我希望通过向打开/可见DIV添加计时器/延迟来提高可用性,以便在用户将鼠标从触发器移开后3或5秒后,打开/可见的DIV淡出.

我现在遇到的问题是,每当我使用.mouseleave()添加一个函数时,只要鼠标离开触发区域,就会隐藏打开/可见的DIV.

但是,如果删除该功能,则DIV保持可见,您可以通过单击关闭按钮将其关闭.

这是我的情况的FIDDLE/DEMO.

任何帮助将不胜感激.

谢谢.

jquery delay mouseleave

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