我正在尝试获取范围对象中的所有DOM节点,这样做的最佳方法是什么?
var selection = window.getSelection(); //what the user has selected
var range = selection.getRangeAt(0); //the first range of the selection
var startNode = range.startContainer;
var endNode = range.endContainer;
var allNodes = /*insert magic*/;
Run Code Online (Sandbox Code Playgroud)
我一直在考虑过去几个小时的方法,并想出了这个:
var getNextNode = function(node, skipChildren){
//if there are child nodes and we didn't come from a child node
if (node.firstChild && !skipChildren) {
return node.firstChild;
}
if (!node.parentNode){
return null;
}
return node.nextSibling
|| getNextNode(node.parentNode, true);
};
var getNodesInRange = function(range){
var startNode = range.startContainer.childNodes[range.startOffset]
|| …Run Code Online (Sandbox Code Playgroud) 如何在PHP中将图像转换为黑白图像?
不只是把它变成灰度,而是每个像素变成黑色或白色?
我有两个动物阵列(例如).
$array = array(
array(
'id' => 1,
'name' => 'Cat',
),
array(
'id' => 2,
'name' => 'Mouse',
)
);
$array2 = array(
array(
'id' => 2,
'age' => 321,
),
array(
'id' => 1,
'age' => 123,
)
);
Run Code Online (Sandbox Code Playgroud)
如何通过ID将两个数组合并为一个?
我对遗传算法(和其他进化算法)中的精英主义概念感到有些困惑.当我保留然后将1个(或更多)精英个人复制到下一代时,
如果是后者,精英主义有什么用?是不是因为没有失去最佳解决方案?因为在这个方案中,它根本无助于收敛.
例如,在交叉/突变部分下,表明精英没有参与.
(当然,可以询问有关幸存者选择部分的相同问题.)
Object.create = function (o) {
function F() {}
F.prototype = o;
return new F();
};
Run Code Online (Sandbox Code Playgroud)
我一直在使用这段代码来创建从以前的代码继承的新对象.但是我遇到了一点意外.
a = {
foo: [1,2,3]
}
b = Object.create(a);
// b.foo -> [1,2,3]
b.foo = "test";
// b.foo -> "test"
// a.foo -> [1,2,3]
c = Object.create(a);
// c.foo -> [1,2,3]
c.foo[0] = 'test';
// c.foo -> ["test",2,3]
// a.foo -> ["test",2,3]
Run Code Online (Sandbox Code Playgroud)
在尝试改变时,c.foo我改变了a.foo,c.foo显示了改变,因为它继承了a.我现在看到的唯一解决方案是仅修改以下的直接属性b:
d = Object.create(a);
d.foo = Object.create(a.foo);
d.foo[0] = 'text'; …Run Code Online (Sandbox Code Playgroud) 使用0-9,AZ和ax作为数字将十进制数字(十进制)转换为六十进制(基数六十)表示为字符串的最佳方法是什么.
我打算用javascript编写它,但任何帮助表示赞赏.
用法示例:
>>decToSex(60);
"10"
>>decToSex(123);
"23"
>>decToSex(1000000);
"4bke"
>>decToSex(1234567.89);
"5gu7.rO"
Run Code Online (Sandbox Code Playgroud)
我使用的最终代码基于Paolo的答案:
var decToSex = function(){
var decToSexMap = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x'];
return function(number){
var negative = '';
if (number < 0){
var negative = '-';
}
number = number.toString().split('.');
var integer = Math.abs(number[0]);
var fraction = number[1];
var result = '';
do {
result = decToSexMap[integer % 60] + result;
integer = parseInt(integer / 60);
} while (integer > 0);
if (fraction){
var decimalPlaces = fraction.toString().length;
result += '.'; …Run Code Online (Sandbox Code Playgroud) 是否有任何实用程序或Web浏览器可以将文件和引用的资源保存为单个HTML文件?
对于大多数Web浏览器/ wget,可以选择将所需的CSS和图像作为单独的文件下载.有没有办法自动内联CSS和图像?
当按下F11时,如何使我的跷跷板程序全屏显示?(不只是最大化)
我目前有这个:
(defn toggle-full-screen [e]
(-> (to-root e)
magic!)
(def full-screen-action (action :name "Full Screen" :tip "Full Screen"
:mnemonic \f :key (keystroke "F11")
:handler toggle-full-screen))
(def view-menu (menu :text "View"
:mnemonic \v
:items [full-screen-action]))
(def top-menubar (menubar :items [view-menu]))
[...]
Run Code Online (Sandbox Code Playgroud)
toggle-full-screen 在按下F11时运行,但我无法弄清楚如何使框架全屏.
我正在开发一个需要显示日文字符的javascript记忆游戏.是否有跨浏览器方式检测亚洲语言或日语的支持?
window.navigator.language将被设置为浏览器的语言,但是错过了那些没有将日语设置为浏览器语言的人(?).
获取地图中几个可能键的第一个非零值的最佳方法是什么.
例:
(get-first-matching {:fum 4 :bar 41 :baz 45} [:foo :bar :baz])
;=> 41
Run Code Online (Sandbox Code Playgroud) javascript ×4
browser ×2
clojure ×2
php ×2
arrays ×1
dom ×1
fullscreen ×1
html ×1
image ×1
imagefilter ×1
inheritance ×1
range ×1
seesaw ×1
swing ×1
traversal ×1
utilities ×1
wget ×1