想要使用一些"可读"的方法从元素中获取文本节点,我发现了这种我无法解释的奇怪行为.
使用以下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(*))')
我搜索一种方法来制作像9gag.com这样的粘性图像信息.(http://i.stack.imgur.com/6SuX4.png)
这并不容易,因为当文章位于窗口顶部时需要修复元素.
如果有人知道插件或方法,这将是伟大的:)
提前致谢.
我想用折线图在浏览器中显示一些数据.在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,其中包含一些更好的示例数据:
在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)
我很困惑为什么会这样做.任何解释?
PS:使用getter/setter localStorage方法在这里无所谓,结果相同.
我确信这很容易,我看到了很多答案.我想用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)
我在网上看到各种各样的答案,但似乎没有一个对我有用。
这是针对我们本地的内部网。当用户单击按钮时,我正在向表单动态添加输入。我有焦点/模糊事件,但它们没有在动态创建的文本框上捕捉焦点和模糊。我正在使用 .on 进行模糊/聚焦,但它仍然无法像我认为的那样工作。我尝试将“input[type=text]”作为选择器添加到 .on 函数中,但这也不起作用。我也试过给输入一个类并使用它而不是 input[type=text] 但它仍然不起作用。
我正在使用模糊/焦点来输入默认值,以便用户知道文本框的用途。我知道 html5 占位符,但它在我们的一些计算机仍然拥有的 IE9 上不起作用。
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) 我试图$('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) 例如,如果我有以下代码:
$("#divTest").append(variable);
Run Code Online (Sandbox Code Playgroud)
并且预期的目标是在单击按钮后显示一条信息,如何处理不耐烦的用户或者在执行代码之前需要多次单击(从而生成多个副本)的用户?
我会澄清是否需要.
谢谢!
我需要比较不同的选择器是否返回相同匹配的元素集.
我来到这个简单的解决方案,一个小插件:
;(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插件会有什么不利之处呢?
我有一个文本字段(全名),单击"设置焦点"按钮,我希望在文本字段(全名)上设置焦点,但不希望在聚焦文本字段中闪烁光标.如何使用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().但在这两种情况下,我都可以看到聚焦文本域中闪烁的光标.我看到了一个解决方案,要求我改变文本阴影,边框和轮廓来实现这一目标.但我想保留重点文本字段的边框和轮廓