小编A. *_*lff的帖子

检索文本节点需要三重否定

想要使用一些"可读"的方法从元素中获取文本节点,我发现了这种我无法解释的奇怪行为.

-jsFiddle-

使用以下HTML标记:

<div>text node <b>and b element</b></div>
Run Code Online (Sandbox Code Playgroud)

文本节点不是DOM元素,所以我想知道这是否有效:

var textnode = $('div').contents().filter(':not(*)'); //returns jq empty set
Run Code Online (Sandbox Code Playgroud)

即使使用.filter('*')和不返回文本节点但其他元素(b)也会失败.

所以测试它,我使用not()方法,我不确定它是否适用于文本节点:

var textnode = $('div').contents().not('*'); //returns jq empty set
Run Code Online (Sandbox Code Playgroud)

我们承认吧.但是这个返回文本节点:

var textnode = $('div').contents().not(':not(:not(*))'); //returns text node in set
Run Code Online (Sandbox Code Playgroud)

那么为什么 .not('*')失败的时候.not(':not(:not(*))')有效呢? 我无法解释.

PS: .filter(':not(:not(:not(*)))')失败,而我期待它完全像.not(':not(:not(*))')

jquery

6
推荐指数
1
解决办法
153
查看次数

临时粘性物品,如9gag

我搜索一种方法来制作像9gag.com这样的粘性图像信息.(http://i.stack.imgur.com/6SuX4.png)

这并不容易,因为当文章位于窗口顶部时需要修复元素.

如果有人知道插件或方法,这将是伟大的:)

提前致谢.

css jquery fixed sticky

5
推荐指数
1
解决办法
1326
查看次数

使用javascript在浏览器中使用折线图显示日期特定数据

我想用折线图在浏览器中显示一些数据.在x轴应该有日期,在y轴应该有值.

我知道那里有一些javascript绘图解决方案.但特别是对于特定日期的数据,很难找到合适的解决方案.

这是方案,我如何获得数据:

[
   [
      startTimestamp,
      endTimestamp,
      value
   ],
   [
      startTimestamp,
      endTimestamp,
      value
   ]
]
Run Code Online (Sandbox Code Playgroud)

这里有一些示例值:

[
   [
      1365163327,
      1365163339,
      0
   ],
   [
      1365163339,
      1365163360,
      1
   ]
]
Run Code Online (Sandbox Code Playgroud)

请参阅此处的js-fiddle,其中包含一些更好的示例数据:

http://jsfiddle.net/JWhmQ/1992/

html javascript jquery jqplot d3.js

5
推荐指数
1
解决办法
512
查看次数

localStorage和布尔'字符串'

在localStorage中存储布尔值,此值将转换为字符串.现在尝试将此值从localStorage转换回布尔值,我需要使用JSON.parse()方法,更方便的!!不起作用.

代码示例:

var test = false;
localStorage['test'] = test;
console.log("JSON.parse returns: ", JSON.parse(localStorage['test']), "expected: ", test);
console.log("'!!' returns: ", !! localStorage['test'], "expected: ", test);
Run Code Online (Sandbox Code Playgroud)

-jsFiddle-

我很困惑为什么会这样做.任何解释?

PS:使用getter/setter localStorage方法在这里无所谓,结果相同.

javascript html5 boolean local-storage

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

创建一个全新的div?

我确信这很容易,我看到了很多答案.我想用java脚本创建一个全新的div,并且能够给它一个id并用css设置它的样式.我知道我可以使用document.createElement但它不会为我做任何事情.我设置了一个小提琴.你能不能让它运作起来,当我跑步时它会成为一个新的.我不需要任何解释,如果我看到它有效,我可以弄明白.我不知道为什么这对我来说太难了.

div = document.createElement('div')
div.id = 'test'
#test{
 height: 46px;
width: 170px;
background-color: #23238e;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/philyphil/38rAy/embedded/result/

html javascript

3
推荐指数
1
解决办法
80
查看次数

jquery on blur 不适用于动态文本框

我在网上看到各种各样的答案,但似乎没有一个对我有用。

这是针对我们本地的内部网。当用户单击按钮时,我正在向表单动态添加输入。我有焦点/模糊事件,但它们没有在动态创建的文本框上捕捉焦点和模糊。我正在使用 .on 进行模糊/聚焦,但它仍然无法像我认为的那样工作。我尝试将“input[type=text]”作为选择器添加到 .on 函数中,但这也不起作用。我也试过给输入一个类并使用它而不是 input[type=text] 但它仍然不起作用。

我正在使用模糊/焦点来输入默认值,以便用户知道文本框的用途。我知道 html5 占位符,但它在我们的一些计算机仍然拥有的 IE9 上不起作用。

jsfiddle 示例

html

  <div id="details" class="miSections relative">
        <div class="sectionHeader relative">Details<button id="detailButton" class="newButton" type="button">Add Another Detail</button></div>
            <table id="detailsTable" class="infoTable">                   
               <tr>
                    <td><input type="text" name="detDate_1" id="detDate_1" class="textarea defaultText" autocomplete="off" title="Detail Date"/></td>
                </tr>                    
            </table>
    </div>
Run Code Online (Sandbox Code Playgroud)

css

  .infoTable{
    text-align: center;
    width:100%;
  }
  .defaultText{
    color: #a1a1a1;
    font-style: italic;
  }
Run Code Online (Sandbox Code Playgroud)

javascript

  $(document).ready(function () { 
        $('.textarea').on('focus', function () {
            //using .on('focus','.textarea',function() doesn't work
            if ($(this).val() == $(this).attr('title')) {
                $(this).removeClass('defaultText');
                $(this).val("");
            }
        });

        $('.textarea').on('blur',  function () …
Run Code Online (Sandbox Code Playgroud)

forms jquery dynamic

3
推荐指数
1
解决办法
3902
查看次数

使用$ .getJSON()填充.data()

我试图$('div').data()通过JSON 填充.它工作正常,JQuery.parseJSON但没有$.getJSON.

// works as expected
$('div').data('dat', { xmin: '-10', xmax: 40 });
$('div').data('dat', jQuery.parseJSON('{"bbx" : {"xmin" : "-10", "xmax" : "40"}}'));

// doesnt work
$('div').data('dat', $.getJSON("init.php", function(json) {return(json);}));
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

在jQuery中,如何防止多次点击多次执行我的代码?

例如,如果我有以下代码:

$("#divTest").append(variable);
Run Code Online (Sandbox Code Playgroud)

并且预期的目标是在单击按钮后显示一条信息,如何处理不耐烦的用户或者在执行代码之前需要多次单击(从而生成多个副本)的用户?

我会澄清是否需要.

谢谢!

jquery click onclick mouseevent

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

比较两组匹配的元素

我需要比较不同的选择器是否返回相同匹配的元素集.

我来到这个简单的解决方案,一个小插件:

;(function ($) {
    $.fn.isEqual = function ($selector) {
       return this.add().get().join() === $selector.add().get().join()
    }
})(jQuery);


//e.g of usages: if($('div').isEqual($('#mydiv1,#mydiv2'))
//if($(':checkbox').isEqual($('input[type=checkbox].myclass'))
//if($('div').parents().isEqual($('body div').parents()) etc ...
Run Code Online (Sandbox Code Playgroud)

现在我觉得我错过了一些东西,因为我找到的所有其他解决方案似乎都更加精细,就像这个似乎是特权的解决方案:

$.fn.sequenceEqual = function(compareTo) {
  if (!compareTo || !compareTo.length || this.length !== compareTo.length) {
    return false;
  }
  for (var i = 0, length = this.length; i < length; i++) {
    if (this[i] !== compareTo[i]) 
      return false;
    }
  }
  return true;
} 
Run Code Online (Sandbox Code Playgroud)

那么,使用$ .isEqual插件会有什么不利之处呢?

jquery

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

将焦点设置为输入字段而不闪烁光标

我有一个文本字段(全名),单击"设置焦点"按钮,我希望在文本字段(全名)上设置焦点,但不希望在聚焦文本字段中闪烁光标.如何使用js/jQuery实现这一目标.

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Customer Details</title>    
</head>
<body>    
    <input type="text" id="fullname" placeholder="Name">      
    <button type="button" onClick="document.getElementById('fullname').focus()" id="button">Set Focus</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我尝试过使用jquery和js focus().但在这两种情况下,我都可以看到聚焦文本域中闪烁的光标.我看到了一个解决方案,要求我改变文本阴影,边框和轮廓来实现这一目标.但我想保留重点文本字段的边框和轮廓

html javascript css jquery

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