我一直在学习关于函数、返回、id 和所有东西的非常简单的东西,所以我遇到了另一个看起来很简单的问题,但我不明白为什么会发生。检查此代码:
function test() {
var text = document.createTextNode("Hello");
text.id = "t";
}
var whatIjustwrote = window.document.getElementById("t");
alert(whatIjustwrote);?
Run Code Online (Sandbox Code Playgroud)
是否getElementById有限制只能查找全局项目?使该警报输出函数内的文本节点的方法是什么?
感谢您的任何评论。最近几天在这里问东西我学到了很多东西!
以下代码有效(弹出警报):
var sound = document.getElementById("music");
sound.addEventListener("play", function () {
alert("playing");
});
....
....
<audio controls id="music">
<source src="http://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg"/>
</audio>
Run Code Online (Sandbox Code Playgroud)
但为什么这不起作用呢?
var sound = document.getElementsByClassName("music");
sound.addEventListener("play", function () {
alert("playing");
});
....
....
<audio controls class="music">
<source src="http://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg"/>
</audio>
Run Code Online (Sandbox Code Playgroud)
如果 getElementsByClassName 返回与 getElementById 不同的内容,这也不起作用:
('.sound').addEventListener("play", function () {
alert("playing");
});
....
....
<audio controls class="music">
<source src="http://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg"/>
</audio>
Run Code Online (Sandbox Code Playgroud)
我所更改的只是 ID,而不是 ID,而是给了它一个类(因为我有此音频播放器的多个实例),并使用 getElementsByClassName 而不是 getElementById。我认为 getElementsByClassName 现在与所有浏览器兼容?我正在使用最新的火狐浏览器。
我想动态地将按钮的id创建到按钮列表中,以便使用getElementById获取任何按钮.
使用相同ID的代码示例:
@foreach (var cat in Model) {
<div class="list-group">
<button id="nameCategory" onclick="onClickSeeProducts()" >@cat.Name</button>
</div>
}
Run Code Online (Sandbox Code Playgroud)
onClickSeeProducts函数应如下所示:
function onClickSeeProducts() {
button = document.getElementById("nameCategory").innerHTML;
//Something
}
Run Code Online (Sandbox Code Playgroud) 我的 html 中有这一行:
<a class="btn" onclick="return confirm('Are you sure you want to delete this post?')" href="#">
Run Code Online (Sandbox Code Playgroud)
尝试切换到弹出窗口,然后使用以下命令单击“确定”
driver.switchTo().alert().accept()
Run Code Online (Sandbox Code Playgroud)
但它一直给我 AttributeError: 'WebDriver' 对象没有属性 'switchTo'。我还尝试找到弹出窗口按钮的元素 ID,但无法使其工作。任何建议将不胜感激。
我需要在不使用 jQuery 的情况下从多个表单输入值构建一个对象。
<div id="formMain">
<form id="form_id_1" class="formClass">
<div id="fullname">
<p>Full Name</p>
<input type="text" class="inputClass" name="name" value="Joe">
<br/>
<input type="text" class="inputClass" name="name2" value="Doe">
</div>
<div id="Address">
<p>Address</p>
<input type="text" class="inputClass" name="address" value="1st Maint Street">
</div>
</form>
<form id="form_id_2" class="formClass">
<div id="fullname">
<p>Full Name</p>
<input type="text" class="inputClass" name="name" id="name1" value="Mary">
<br/>
<input type="text" class="inputClass" name="name2" id="name2" value="Doe">
</div>
<div id="Address">
<p>Address</p>
<input type="text" class="inputClass" name="address" id="addressId" value="2nd Maint Street">
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
最终结果应该是对象:
"profile":[
{
"name":"Joe",
"name2":"Doe",
"address":"1st Maint Street",
}, …Run Code Online (Sandbox Code Playgroud) 我试图使用循环打印,但它不打印下一个元素.
请给我一个简单的例子,它解释得最好.使用PHP DOM
其次,我可以获得一些具有该功能的Xth元素id.
更新
谢谢.在创建具有相同元素的元素时出现错误,id因此将其更改为class(抱歉是编程的新手,感谢振作起来).那么请你告诉我如何提取具有相同类名的所有元素,然后我可以从具有该类名的文档中获取一些Xth元素.
嘿所以我有点困惑为什么我得到错误,'document.getElementById(...)'是null或不是对象.我是javascript和练习编写数组的新手.这个脚本在我之前document.write(r_card[i]);和没有之前工作正常function.该页面将加载并随机选择一张卡片.但后来我想用的功能练习,并要求他们,所以我增加了function bar() {一部分,并改变document.write(r_card[i]);到document.getElementById(foo).innerHTML = (r_card[i]);,但现在它不工作.当我遇到这样的问题时,通常会出现语法错误,因为我不习惯自己编写javascript.做了一些搜索但找不到任何有相同错误的人.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>Pick a Card!</title>
</head>
<body>
<script type="text/javascript">
function bar() {
var r_card = new Array();
r_card[0] = "Ace of Diamonds";
r_card[1] = "Two of Diamonds";
r_card[2] = "Three of Diamonds";
r_card[3] = "Four of Diamonds";
r_card[4] = "Five of …Run Code Online (Sandbox Code Playgroud) 我在做一些非常愚蠢的事情,我很确定; 已经好几个小时了,我开始失去生活的意志.更糟糕的是我之前在画布上成功使用了它,但即使这个例子也没有帮助我.
html文件(index.html)
<body style="margin: 0px;">
<div ID="testclick">
<style>
#testclick{
width:100px;
height:100px;
background-color:black;
}
</style>
</div>
<script language="javascript" src="test.js" ></script>
</body>
Run Code Online (Sandbox Code Playgroud)
javascipt文件(test.js)
(function(){
var el = document.getElementByID("testclick");
el.addEventListener("click", sockClicked, false);
function sockClicked(){
console.log("HAR");
};
})();
Run Code Online (Sandbox Code Playgroud)
错误消息:未捕获TypeError:undefined不是函数
我用Google搜索并阅读了几个与此错误相关的内容与addEventListener相结合.我还阅读了几个关于如何使用getElementByID以及addEventListener的教程.但仍然没有快乐.有人请救我脱离这无尽的动荡.(
我试图在同一页面上使用相同ID(#vid)的三个视频上使用脚本.目前只有一个视频似乎能够使用该脚本.
var video = document.getElementById('vid')
// When the 'ended' event fires
video.addEventListener('ended', function(){
// Reset the video to
video.currentTime = 0;
// And play again
video.load();
});
Run Code Online (Sandbox Code Playgroud)
怎么用getElementById(function_parameter)?
function myFunction(param1){
document.getElementById(param1).style.color="#E66C2C";
}
Run Code Online (Sandbox Code Playgroud)
这里param1是动态传递的ID,当我使用上面的代码时,IE11中出现以下错误." 无法获得未定义或空引用的属性'样式' "
它被称为如下:
<a class="someClass1" id="customID1" name="customName1" onClick="javascript:myFunction('customID1');">Custom1</a>
<a class="someClass2" id="customID2" name="customName2" onClick="javascript:myFunction('customID2');">Custom2</a>
<a class="someClass3" id="customID3" name="customName3" onClick="javascript:myFunction('customID3');">Custom3</a>Run Code Online (Sandbox Code Playgroud)
我遵循了一个非常基本的瓶装啤酒教程(与本网站上已经提到的不同),我不明白这部分是做什么的:
var bottlesDiv = document.
Run Code Online (Sandbox Code Playgroud)
这里有完整的代码(它确实按预期工作):
var bottles = 99;
var lyrics = "";
while (bottles > 0) {
lyrics = lyrics + bottles + " bottles of beer on the wall <br>";
lyrics = lyrics + bottles + " bottles of beer <br>";
lyrics = lyrics + "Take one down, pass it around, <br>";
bottles = bottles - 1;
if (bottles > 0) {
lyrics = lyrics + bottles + " bottles of beer on the wall <br><br>";
} …Run Code Online (Sandbox Code Playgroud)开发者,我试图让我的javascript文件捕获我的HTML文件中的id的innerHTML并提醒它.我的html中的src代码到js很好,因为它可以提醒任何我引用它的警报.它不会提醒我想要的内容.我做得不对劲?
这是我的html代码(我已缩短为仅显示相关代码)
<head>
<script type="text/javascript" src="indexjs.js"></script>
</head>
<body>
<div class="topbar">
<ul>
<li id="barmuhia">Job Muhia</li>
</ul>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
实际在我的网页上工作的js代码是
alert(GetElementById("barmuhia").innerHTML)
Run Code Online (Sandbox Code Playgroud)
一个不能工作的是这个(也不适用于任何其他id)
<head>
<script type="text/javascript" src="indexjs.js"></script>
</head>
<body>
<div class="topbar">
<ul>
<li id="barmuhia">Job Muhia</li>
</ul>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
@brandonoluoch
getelementbyid ×12
javascript ×9
html ×4
dom ×2
.net ×1
ajax ×1
alert ×1
arrays ×1
audio ×1
domdocument ×1
php ×1
python ×1
selenium ×1
video ×1