研究一个简单的HTMLElement包装器的想法我偶然发现了Internet Explorer和Chrome的以下内容:
对于DOM树中具有ID的给定HTMLElement,可以使用其ID作为变量名来检索div.所以对于一个喜欢的div
<div id="example">some text</div>
Run Code Online (Sandbox Code Playgroud)
在Internet Explorer 8和Chrome中,您可以执行以下操作:
alert(example.innerHTML); //=> 'some text'
Run Code Online (Sandbox Code Playgroud)
要么
alert(window['example'].innerHTML); //=> 'some text'
Run Code Online (Sandbox Code Playgroud)
那么,这是否意味着DOM树中的每个元素都转换为全局命名空间中的变量?它是否也意味着可以使用它作为getElementById这些浏览器中方法的替代品?
这应该很简单,但我遇到了麻烦.如何获取子元素的父div?
我的HTML:
<div id="test">
<p id="myParagraph">Testing</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我的JavaScript:
var pDoc = document.getElementById("myParagraph");
var parentDiv = ??????????
Run Code Online (Sandbox Code Playgroud)
我会想document.parent或parent.container会工作,但我一直在not defined犯错误.请注意,它pDoc是定义的,而不是它的某些变量.
有任何想法吗?
PS我希望尽可能避免使用jQuery.
如何在react.js中选择某些条形图?
这是我的代码:
var Progressbar = React.createClass({
getInitialState: function () {
return { completed: this.props.completed };
},
addPrecent: function (value) {
this.props.completed += value;
this.setState({ completed: this.props.completed });
},
render: function () {
var completed = this.props.completed;
if (completed < 0) { completed = 0 };
return (...);
}
Run Code Online (Sandbox Code Playgroud)
我想使用这个React组件:
var App = React.createClass({
getInitialState: function () {
return { baction: 'Progress1' };
},
handleChange: function (e) {
var value = e.target.value;
console.log(value);
this.setState({ baction: value });
},
handleClick10: function (e) …Run Code Online (Sandbox Code Playgroud) 在我们的应用程序中,我们解析一个网页并将其加载到iFrame中的另一个页面中.加载页面中的所有元素都有其tokenid-s.我需要通过那些tokenid-s选择元素.意思是 - 我点击主页面上的一个元素,然后在iFrame的页面中选择相应的元素.在jQuery的帮助下,我按以下方式进行:
function selectElement(token) {
$('[tokenid=' + token + ']').addClass('border');
}
Run Code Online (Sandbox Code Playgroud)
但是使用此功能,我只能选择当前页面中的元素,而不能选择iFrame中的元素.有谁能告诉我如何在加载的iFrame中选择元素?
谢谢.
好吧,之前我曾经涉猎过JavaScript,但我写的最有用的东西是CSS样式切换器.所以我对此有些新意.假设我有这样的HTML代码:
<div id="foo">
<div class="bar">
Hello world!
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我怎么改变"Hello world!" 到"再见世界!" ?我知道document.getElementByClass和document.getElementById如何工作,但我想更具体.对不起,如果之前有人询问过.
我正在尝试根据每个DIV的类别切换网站上某些DIV元素的可见性.我正在使用基本的JavaScript代码段来切换它们.问题是该脚本仅使用getElementById,因为getElementByClassJavaScript不支持.不幸的是,我必须使用class而不是id来命名DIV,因为DIV名称是由我的XSLT样式表使用某些类别名称动态生成的.
我知道某些浏览器现在支持getElementByClass,但由于Internet Explorer不支持,我不想走那条路.
我发现脚本使用函数来按类获取元素(例如本页#8:http://www.dustindiaz.com/top-ten-javascript/),但我无法弄清楚如何集成它们与我的切换脚本.
这是HTML代码.DIV本身缺失,因为它们是在使用XML/XSLT加载页面时生成的.
主要问题:如何获取以下Toggle脚本以获取逐个元素而不是按ID获取元素?
<html>
<head>
<!--This is the TOGGLE script-->
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
</head>
<!--the XML/XSLT page contents will be loaded here, with DIVs named by Class separating dozens of li's-->
<a href="#" onclick="toggle_visibility('class1');">Click here to toggle visibility of class 1 objects</a>
<a href="#" onclick="toggle_visibility('class2');">Click here to …Run Code Online (Sandbox Code Playgroud) javascript class getelementbyid toggle getelementsbyclassname
我必须为项目使用vanilla JavaScript.我有一些功能,其中一个是打开菜单的按钮.它适用于目标ID存在的页面,但会导致id不存在的页面出错.在那些函数找不到id的页面上,我收到一个"无法读取属性'addEventListener'的null"错误,我的其他函数都没有工作.
下面是打开菜单的按钮的代码.
function swapper() {
toggleClass(document.getElementById('overlay'), 'open');
}
var el = document.getElementById('overlayBtn');
el.addEventListener('click', swapper, false);
var text = document.getElementById('overlayBtn');
text.onclick = function(){
this.innerHTML = (this.innerHTML === "Menu") ? "Close" : "Menu";
return false;
};
Run Code Online (Sandbox Code Playgroud)
我该如何处理?我可能需要将所有代码包装在另一个函数中或使用if/else语句,以便它只搜索特定页面上的id,但不确定.
我想在一个ul元素中使用javascript追加一个li元素,这是我到目前为止的代码..
var parentGuest = document.getElementById("one");
var childGuest = document.createElement("li");
childGuest.id = "two";
Run Code Online (Sandbox Code Playgroud)
我熟悉appendChild,
parentGuest.appendChild(childGuest);
Run Code Online (Sandbox Code Playgroud)
但是,这会将新元素添加到另一个元素中,而不是在其后.如何在现有元素之后附加新元素?谢谢.
<ul>
<li id="one"><!-- where the new li is being put --></li>
<!-- where I want the new li -->
</ul>
Run Code Online (Sandbox Code Playgroud) 我iframe喜欢这个
<iframe name="myframe1" id="myframe1" width="100%" height="100%" src="a.html">
<html>
<head></head>
<frameset name="myframe2" cols="0%, 100%" border="0" frameBorder="0" frameSpacing="0">
<frame name="page1" src="c.html" scrolling="no"></frame>
<frame name="page2" src="d.html" >
<html>
<head></head>
<body id="top">
<div id="div1">
<div id="div2">
<div id="div3">
<ul id="x">
<li>a</li>
<li>b</li>
</ul>
</div>
</div>
</div>
</body>
</html>
</frame>
</frameset>
</html>
</iframe>
Run Code Online (Sandbox Code Playgroud)
我想引用元素"x".我尝试了几种方法,但我找不到解决方案.
我需要获取元素的ID,但值是动态的,只有它的开头始终是相同的.
下面是一段代码.
<form class="form-poll" id="poll-1225962377536" action="/cs/Satellite">
Run Code Online (Sandbox Code Playgroud)
ID始终以'poll-'开头,然后数字是动态的.
如何使用JavaScript而不是jQuery获取ID?
getelementbyid ×10
javascript ×10
html ×2
iframe ×2
appendchild ×1
class ×1
dom ×1
frameset ×1
function ×1
identifier ×1
reactjs ×1
toggle ×1