我有一个看起来像这样的iframe:
<iframe id="iframe2" ...>
#document
<html>...</html>
</iframe>
Run Code Online (Sandbox Code Playgroud)
我正在尝试iframe使用html标签获取项目.
在JavaScript中,当我这样做时:
document.getElementByID("iframe2")
Run Code Online (Sandbox Code Playgroud)
这会返回正确的iframe.
但是,当我这样做时:
document.getElementByID("iframe2").childNodes
Run Code Online (Sandbox Code Playgroud)
返回值是[].
document.getElementByID("iframe2").getElementsByTagName("#document")并document.getElementByID("iframe2").getElementsByTagName("html")返回[].
我如何访问该html标签?
另外,那个#document标签叫什么?
尝试使用 Javascript 插入 css 文档,但是我收到错误消息,提示必须启用 CORS。有办法处理吗?
这是代码:
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://use.fontawesome.com/releases/v5.2.0/css/all.css';
link.integrity = 'sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ';
link.crossorigin = 'anonymous';
document.head.appendChild(link);
Run Code Online (Sandbox Code Playgroud) 我如何解构width,height如果它们之前已经声明过?
function test() {
let height
let width
const viewBox = '0 0 24 24'
const sizeArr = viewBox.split(' ')
// ESLint is telling me to destructure these and I don't know how
width = sizeArr[2]
height = sizeArr[3]
}
Run Code Online (Sandbox Code Playgroud) for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
String[] bin = new String[n];
for (int i = 0; i < n; i++) {
bin[i] = Integer.toBinaryString(arr[i]);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将整个整数数组转换为Strings数组(包含输入字符串的二进制格式),但有一个警告。
例如:
如果输入数组是:2 3 7 10
二进制字符串数组将是:10
11
111
1010
但我希望输出数组如下所示:
0010
0011
0111
1010
#2
如果输入数组是:2 10 20
二进制字符串数组将是:
10
1010
10100
但我希望输出数组如下所示:
00010
01010
10100
为什么这有效:
String a = null;
String b = a != null && a.equals("Nan") ? "Nan" : a;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
但这会产生 NPE:
Double value = null;
Double v = value != null && value.isNaN() ? 0.0 : value;
System.out.println(v);
Run Code Online (Sandbox Code Playgroud)
将其重写为:
Double value = null;
Double v;
if (value != null && value.isNaN()) {
v = 0.0;
} else {
v = value;
}
Run Code Online (Sandbox Code Playgroud)
当然可以按预期工作。但是为什么我在使用时使用三元/条件运算符得到NPE Double,而在使用时没有NPE String?我缺少什么?
我有两个不同的对象数组,storedArray存储在我的文件系统中,并由inputArray用户输入的 update 组成storedArray。每个数组的最小长度为 1,最大数量没有上限。而且它们的长度不一定必须相同。所以我想要的是循环每个数组并且:
inputArray匹配的名称与storedArray名称和年龄相同,则在 中不执行任何操作,storedArray但将该对象保留在 中storedArray。(例如约翰)。inputArray匹配storedArray且年龄不同,则仅更新 中旧对象中的年龄值storedArray。(例如简)。inputArray其名称与任何名称都不匹配storedArray,则将新对象推送到storedArray. (例如莫里斯)。storedArray不匹配的其他对象inputArray。(例如乔安娜、吉姆)。更新这个
const storedArray = [
{"name": "John", "age": 25, "courses": 5},
{"name": "Jane", "age": 21, "courses": 3},
{"name": "Joanna", "age": 19, "courses": 2},
{"name": "Jim", "age": 20, "courses": 4},
];
Run Code Online (Sandbox Code Playgroud)
由此
const inputArray = [ …Run Code Online (Sandbox Code Playgroud) colors给定未知长度,如何按顺序重复数组items?
const items = [1, 2, ...n]
const colors = ['blue', 'green', 'red']
// return ['blue', 'green', 'red', 'blue', 'green'] where items.length = 5
Run Code Online (Sandbox Code Playgroud) 我正在尝试理解filterJavascript 中的 3 参数函数。这段代码是做什么的?(我目前正在重构系统中现有的代码。)
docs = _.cloneDeep(docs.filter((v, i, a) => a.findIndex(t => (t.documentNumber === v.documentNumber)) === i));
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法可以替换字符串开头和结尾的字符,但不能替换中间的字符?我需要修剪破折号。我知道trim()存在,但它只会修剪空白。
这是我的用例:
输入:
university-education
-test
football-coach
wine-
Run Code Online (Sandbox Code Playgroud)
输出:
university-education
test
football-coach
wine
Run Code Online (Sandbox Code Playgroud) javascript ×8
arrays ×2
ecmascript-6 ×2
html ×2
java ×2
binary ×1
comparison ×1
cors ×1
destructure ×1
integer ×1
node.js ×1
string ×1
tags ×1
trim ×1