如何在 javascript 中获取文档的孙子 div 和 iframe ?我有 div 的 id 和 iframe 的名称
我在我的页面中输入了以下代码:
var img = new Image();
img.src="abc.jpg"
Run Code Online (Sandbox Code Playgroud)
abc.jpg 是一个页面计数器,可以帮助我在加载后计算页面浏览量。对于本例,我仅创建 img 元素,但不将其添加到 DOM 中。
图像是否下载到用户页面?或者我必须将它添加到 DOM 中?
多谢。
=================================================== =============
为了让事情更清楚,这里提供了一个演示页面:http://ad3.guruonline.com.hk/mobmax/testing/stackoverflow.html
此页面引用了 JS 文件“stackoverflow.js”:

对于 stackoverflow.js,它创建一个变量“img”,它指向“stackoverflow.jpg”

所以,我回到 stackoverflow.html,查看“网络”选项卡:最令人惊讶的是,stackoverflow.jpg 居然被下载了!

根据KK的回答,stackoverflow.jpg不应该被下载,对吧?因为我从来没有将它添加到 DOM 中。有人可以对这种情况提供解释吗?
谢谢!
我习惯在Elements上操作,而不是ElementTrees。
到目前为止,我可以使用以下方法从 an 转换ElementTree为 an Element:
tree = et.parse(xml_location)
et.fromstring(et.tostring(tree))
Run Code Online (Sandbox Code Playgroud)
但这看起来很昂贵 - 除了上述方法之外,是否还有从 an 转换ElementTree为 an的传统方法?Element
我正在尝试编写一个可在两个不同页面上使用的书签。一旦掌握了元素,我就可以成功地迭代和处理它们,但为了适应两个不同的页面,我想通过两个不同的类名编译 DIV 列表。我是这样开始的:
\n\ntraces=\n [].concat.apply(document.getElementsByClassName(\'fullStacktrace\'),\n document.getElementsByClassName(\'msg\'))\nRun Code Online (Sandbox Code Playgroud)\n\n但在第一页上结果是这样的:
\n\n> traces=[].concat.apply(document.getElementsByClassName(\'fullStacktrace\'),\n document.getElementsByClassName(\'msg\'))\n[HTMLCollection[2]]\n> traces[0]\n[div.fullStacktrace, div.fullStacktrace]\n> traces[1]\nundefined\n> traces[0][0]\n<div class=\xe2\x80\x8b"fullStacktrace" style=\xe2\x80\x8b"height:\xe2\x80\x8b auto;\xe2\x80\x8b">\xe2\x80\x8b\xe2\x80\xa6\xe2\x80\x8b</div>\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n而在另一页上
\n\n> traces=[].concat.apply(document.getElementsByClassName(\'fullStacktrace\'),\n document.getElementsByClassName(\'msg\'))\n[HTMLCollection[0], div#msg_2.msg.l1, ... div#msg_6460.msg.l1]\n> traces[0]\n[]\n> traces[1]\n<div class=\xe2\x80\x8b"msg l1" id=\xe2\x80\x8b"msg_2">\xe2\x80\x8b\xe2\x80\xa6\xe2\x80\x8b</div>\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n因此 getElementsByClassName 适用于两个页面,但看起来 concat.apply 不会迭代其第一个参数,但会迭代其第二个参数?!
\n\n所以我尝试使用 concat 两次并全力以赴使用括号:
\n\ntraces=(\n (\n [].concat.apply(document.getElementsByClassName(\'fullStacktrace\'))\n )\n .concat.apply(document.getElementsByClassName(\'msg\'))\n)\nRun Code Online (Sandbox Code Playgroud)\n\n但它变得更奇怪:第一页说:
\n\nArray[1]\n> 0: HTMLCollection[0]\n length: 0\n > __proto__: HTMLCollection\nlength: 1\n> __proto__: Array[0]\nRun Code Online (Sandbox Code Playgroud)\n\n和另一个:
\n\nArray[1]\n> 0: HTMLCollection[283] // Lots of div#msg_3.msg.l1 sort of things in here\n length: …Run Code Online (Sandbox Code Playgroud) 我想知道,你能让一个不是锚点 ( <a>) 标签的元素(例如<div>、<span>等)表现得像锚点标签吗?(点击链接到页面)。
或者,还有其他表现相同的元素吗?
我可以使用 .class textimage-text 获取元素内的所有 HTML。这很好用。然后我需要获取以下 Div 中的 html,该 Div 没有 id 或 Class。
例子
<div class="textimage-text">
<p>Some Text goes here</p>
</div>
<br>
<div>
<p>Some additional Text goes here</p>
</div>
$.get(item.url, function (html) {
var body = $(html).find(".textimage-text").html(); // <- this works
var more= $(html).find(".textimage-text").next("div").html(); // <- this does not work
Run Code Online (Sandbox Code Playgroud) 刚开始使用 Javascript,我正在尝试检查 中元素的类型array:我有一个function需要两个函数的parameters。我有一个由和元素array组合而成的。这个想法是根据样本中元素的类型触发,然后将新的元素推送到新的元素。我不确定我可以在这里使用哪个内置函数。我尝试过,但这些似乎没有达到目的,或者也许我做错了。下面是代码。多谢!stringnumberfunctionsarrayelementarrayindexOftypeof
var arr1 = [3, "Hello", 5, "Hola"];
function setNewArray(arr, funct1, funct2){
var arr2 = [];
for(var i = 0; i < arr.length; i++){
if(/*check if arr[i] is a string*/){
arr2.push(funct1(arr[i]));
}
if(/*check if arr[i] is a number*/){
arr2.push(funct2(arr[i]));
}
}
return arr2;
}
var numfunct = function(item){
return item * 2;
}
var strfunct = function(item){
return item + " " …Run Code Online (Sandbox Code Playgroud) 我想用 9 个按钮做动作。反正有没有一次用 9 个按钮做动作,而不是一个一个。如果我可以向 findViewById() 添加变量,我会解决问题。例如,我想一次选择 9 个按钮(带for循环),如下所示
for(i in 1..9){
findViewById(R.id.button+i).text="New Text"
}
Run Code Online (Sandbox Code Playgroud)
这种方法行不通,请提出最佳方法。
我想在 javascript 中是这样的:
document.getElementById("button"+i)
我在 Vue.js 中使用 Element UI 组件,想添加滚动管理功能来实现无限滚动。
[这是截图的代码:请看示例部分] http://element.eleme.io/#/en-US/component/container
我尝试了以下代码,但即使我滚动此部分,也未调用 infiniteScroll 方法。
<el-main @scroll="infiniteScroll">......</el-main>
此外,我也在下面尝试过,但它不起作用,因为此页面有两个滚动条(在导航/内容中)并且只想在滚动内容时调用 infiniteScroll 方法。
created: function () {
window.addEventListener('scroll', this.infiniteScroll);
},
destroyed: function () {
window.removeEventListener('scroll', this.infiniteScroll);
}
Run Code Online (Sandbox Code Playgroud)
大家有没有最好的解决办法?
我有下面的代码。在这种情况下,我有意尝试使用 forEach。
function check(arr, el) {
arr.forEach((element) => {
console.log(element)
if (element === el) {
return true
}
})
}
check([1, 2, 3, 4, 5], 3)
Run Code Online (Sandbox Code Playgroud)
我期望代码返回 true,因为 el 值 3 在数组中。但它返回未定义。我究竟做错了什么?