document.getelementbyid()无法获取元素

情况如下
我想获取的元素位于跨域iframe中,使用谷歌浏览器的开发者工具的控制台执行语句
已知的是id本身没问题,检查页面后,元素也存在
但是执行语句返回null
然后有意思的事情来了,如果我在开发者工具的Elements标签中找到这个元素,并且左键点击它一下,document.getelementbyid()就能返回元素了,不用做任何修改
这是问什么???

1个回答

跨域iframe中无法获取,浏览器就是这么规定的,如果是同一个顶级域名,2个页面都设置document.domain='顶级域名'后就可以相互操作,非同一个顶级域名无解,除非你能控制2个页面可以用h5的postMessage来通信

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于document.all undefind的问题
功能使用三级联动,本来所有浏览器都是正常的,只是有一个页面的三级联动是ajax append拼接的 ,然后拼接出来就报document.all undefind的问题 具体代码如下 ``` this.firstSelectChange=function(indexName,selectName) { // alert(selectName); this.obj=document.all[selectName]; // alert(" this.obj="+this.obj); this.indexName=indexName; this.optionChange(this.indexName,this.obj.id) // alert("this.obj.id="+this.obj.id); } ``` 尝试了使用 ``` var $_$= function (name) { return document.getElementById(name); }; this.obj=document.getElementById(selectName); ``` selectName获取的是ID,我alert之后确实获取到了 我改成了document.getElementById(selectName); alert返回null 结果还是不行,各位有什么可以解决的么 改了之后还是报错,alert返回的是null所以还是呢个错误 ![图片说明](https://img-ask.csdn.net/upload/201708/18/1503022999_93450.png) 原因发现可能是append页面导致的找不到元素,正常的不拼接的页面是可以使用以上两种方法的,但是拼接了之后就不行了
给document.documentElement.scrollTop赋值以后怎么返回成可变量?
如题,<br /> 为了仿照css3中transform 2D平移事件 ``` <script> var a = document.getElementsByClassName('a'); var i = 0; for (i = 0; i < a.length; i++) { a[i].onmouseover = function () { startMove3(this);//注意,这里是要做一个触摸按钮然后页面移动到指定位置,其中的变量已经固定。 } } //获取目标元素到顶部的高度 function getElementToPageTop(el) { if (el.parentElement) { return this.getElementToPageTop(el.parentElement) + el.offsetTop } return el.offsetTop } function startMove3(obj) { //获取当前的位置 clearInterval(obj.timer); obj.timer = setInterval(function () { var iCur = 0; iCur = document.documentElement.scrollTop || document.body.scrollTop; //注意检查这里的 //*计算目标 //页面可见高 var iCurBodyHeight = document.body.clientHeight; //盒子的总高 var mainBannerHeight = document.getElementById('main-banner').offsetHeight; //移动图片的高,四张图片 var oHeight = mainBannerHeight / 4; //需要居中时top var oMargin = (iCurBodyHeight - oHeight) / 2; //目标 var iTarget = 0; var iTargetNeeds = 0; //移动盒子的对应至最顶部的高 if (obj == a[0]) { iTargetNeeds = getElementToPageTop(document.getElementById('lists1')); } else if (obj == a[1]) { iTargetNeeds = getElementToPageTop(document.getElementById('lists2')); } else if (obj == a[2]) { iTargetNeeds = getElementToPageTop(document.getElementById('lists3')); } else { iTargetNeeds = document.documentElement.offsetHeight; } //需要被卷走的距离 iTarget = iTargetNeeds - oMargin; //计算速度 var iSpeed = (iTarget - iCur) / 8; iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed); //检测停止 if (iCur != iTarget) { bStop = false; } document.documentElement.scrollTop = iCur + iSpeed; //执行一次以后成为固定值,这里怎么使其能够改变, if (bStop) { clearInterval(obj.timer); if (fn) { fn(); } } }, 30) } </script> ```
用JavaScirpt无法实现全部图片的图片弹窗效果,如何修改?
我在做网页大作业过程中,从https://www.runoob.com/w3cnote/javascript-image-modal.html摘抄到图片弹窗的代码。 其中的JS代码为下 ``` // 获取弹窗 var modal = document.getElementById('myModal'); // 获取图片插入到弹窗 - 使用 "alt" 属性作为文本部分的内容 var img1 = document.getElementById('img1'); var modalImg = document.getElementById("img01"); var captionText = document.getElementById("caption"); img1.onclick = function(){ modal.style.display = "block"; modalImg.src = this.src; captionText.innerHTML = this.alt; } // 获取 <span> 元素,设置关闭按钮 var span = document.getElementsByClassName("close")[0]; // 当点击 (x), 关闭弹窗 span.onclick = function() { modal.style.display = "none"; } ``` 因为图片较多,我给图片添加了不同的id,不断重复了代码,也修改相应的名称 ``` var img1 = document.getElementById('img1'); ``` 以及代码 ``` img1.onclick = function(){ modal.style.display = "block"; modalImg.src = this.src; captionText.innerHTML = this.alt; } ``` 但最后运行只有前6张图片可以实现图片弹窗,请问我该如何修改?
如何在js中获取ajax动态生成的元素?
我有一个php1,向php2发送ajax请求加载一个form到div里,如何获取form的输入框的值? php1: ```php <script> function querengaipan() { var jilufanhui = document.getElementById("jilufanhui").value; var str = document.getElementById("caozuo").value; var gaipanid = document.getElementById("gaipanid").value; var riqi = document.getElementById("gaipanriqi").value; var zhi = document.getElementById("gaipanzhi").value; var beizhu = document.getElementById("gaipanbeizhu").value; if (str!="gaipan") { return; } var getStr = "caozuo=gaipan&gaipanid"+ gaipanid +"&gaipanriqi="+ riqi +"&gaipanzhi="+ zhi +"&gaipanbeizhu="+ beizhu; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("jilufanhui").innerHTML=""; document.getElementById("jilufanhui").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","jilucontroller.php?"+getStr,true); xmlhttp.send(); } </script> <div id="jilufanhui"></div> ``` php2: ```php echo '<form onsubmit="return false" action="##"> <input type="hidden" id="caozuo" name="caozuo" value="gaipan"> <input type="hidden" name="gaipanid" value="'. $gaipanid .'"> <div class="form-group"> <label for="gaipanxingming">姓名/学号:</label> <input type="text" class="form-control" id="gaipanxingming" name="gaipanxingming" value="'. $xingming .'" placeholder="在此输入姓名或学号" disabled="disabled"> </div> ……一些其他输入框…… <center> <button type="button" class="btn btn-primary" onclick="querengaipan()">改判/删除</button> </center> </form> <br />'; ``` 点击 改判/删除按钮会提示 SCRIPT5007: Unable to get property 'value' of undefined or null reference
小白自学前端,看到有人引入了一个JS脚本,了解大概意思,但不知道到底干什么用
1、知道这是定义了函数,获取了元素,并用for循环,但这个文档最终是用来干什么的不知道,看大神帮忙解答一下。 // JavaScript Document function SetTab(tab,id,cnt){ var menus=document.getElementById(tab).getElementsByTagName("li"); for(i=0;i<cnt;i++){ i==id?menus[i].className="on":menus[i].className=""; i==id?document.getElementById(tab+"-content"+i).className="block":document.getElementById(tab+"-content"+i).className="none"; } }
getelementById获取不到页面元素
![图片说明](https://img-ask.csdn.net/upload/201903/14/1552548011_113681.png) ![图片说明](https://img-ask.csdn.net/upload/201903/14/1552548019_5727.png) <br><br> 获取不到页面的元素,然而同时获取的“cName”就能获取的到。尝试过将js放在最后加载,但是仍获取不到元素。 </br> **前端页面** <br> ``` <div class="modal-body"> <ul id="BranchType" class="nav nav-tabs"> <li class="active" id="applyMergeLi "> <a id="applyMergeA" href="#ApplyMerge" onclick=setCookieApplyMerge() data-toggle="tab">申请合入</a> </li> <li id="applyPublishLi " class="active1" > <a id="applyPublisA" href="#ApplyPublish" onclick=setCookieApplyPublish() data-toggle="tab">申请发布</a> </li> <li id="mergeReviewLogLi" class="active2"> <a id="mergeReviewLogA" href="#MergeReviewLog" onclick=setCookieMergeReviewLog() data-toggle="tab">合入审批记录</a> </li> <li id="publishReviewLogLi" class="active3" > <a id="publishReviewLogA" href="#PublishReviewLog" onclick=setCookiePublishReviewLog() data-toggle="tab">发布审批记录</a> </li> </ul> ``` </br> **后台common.js** <br> ``` function hasClass( elementOne,cName ) { if (className==null){ return false; } return !!elementOne.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") ); // ( \\s|^ ) 判断前面是否有空格 (\\s | $ )判断后面是否有空格 两个感叹号为转换为布尔值 以方便做判断 } function addClass( elementOne,cName ) { if( !hasClass( elementOne,cName ) ){ elementOne.className += " " + cName; }; } function removeClass( elementOne,cName ) { if( hasClass( elementOne,cName ) ){ elementOne.className = elementOne.className.replace( new RegExp( "(\\s|^)" + cName + "(\\s|$)" )," " ); // replace方法是替换 }; } ``` <br> **方法调用部分** <br> ``` function onloadApplyPage() { var applyInfoPage = getCookie("applyInfoPage"); var applyMergeLi = document.getElementById("applyMergeLi"); var applyPublishLi = document.getElementById("applyPublishLi"); var mergeReviewLogLi = document.getElementById("mergeReviewLogLi"); var publishReviewLogLi = document.getElementById("publishReviewLogLi"); var ApplyMerge = document.getElementById("ApplyMerge"); var ApplyPublish = document.getElementById("ApplyPublish"); var MergeReviewLog = document.getElementById("MergeReviewLog"); var PublishReviewLog = document.getElementById("PublishReviewLog"); if(applyInfoPage==1) { //为这个类移除属性 addClass(applyMergeLi,"active"); removeClass(applyPublishLi,"active"); removeClass(mergeReviewLogLi,"active"); removeClass(publishReviewLogLi,"active"); $("#applyMergeA").attr("aria-expanded","true"); $("#applyPublishA").attr("aria-expanded","false"); $("#mergeReviewLogA").attr("aria-expanded","false"); $("#publishReviewLogA").attr("aria-expanded","false"); addClass(ApplyMerge,"active"); removeClass(ApplyPublish,"active"); removeClass(MergeReviewLog,"active"); removeClass(PublishReviewLog,"active"); } if(applyInfoPage==2) { //为这个类移除属性 removeClass(applyMergeLi,"active"); addClass(applyPublishLi,"active"); removeClass(mergeReviewLogLi,"active"); removeClass(publishReviewLogLi,"active"); $("#applyMergeA").attr("aria-expanded","false"); $("#applyPublishA").attr("aria-expanded","true"); $("#mergeReviewLogA").attr("aria-expanded","false"); $("#publishReviewLogA").attr("aria-expanded","false"); removeClass(ApplyMerge,"active"); addClass(ApplyPublish,"active"); removeClass(MergeReviewLog,"active"); removeClass(PublishReviewLog,"active"); } if(applyInfoPage==3) { //为这个类移除属性 removeClass(applyMergeLi,"active"); removeClass(applyPublishLi,"active"); addClass(mergeReviewLogLi,"active"); removeClass(publishReviewLogLi,"active"); $("#applyMergeA").attr("aria-expanded","false"); $("#applyPublishA").attr("aria-expanded","false"); $("#mergeReviewLogA").attr("aria-expanded","true"); $("#publishReviewLogA").attr("aria-expanded","false"); removeClass(ApplyMerge,"active"); removeClass(ApplyPublish,"active"); addClass(MergeReviewLog,"active"); removeClass(PublishReviewLog,"active"); } if(applyInfoPage==4) { //为这个类移除属性 removeClass(applyMergeLi,"active"); removeClass(applyPublishLi,"active"); removeClass(mergeReviewLogLi,"active"); addClass(publishReviewLogLi,"active"); $("#applyMergeA").attr("aria-expanded","false"); $("#applyPublishA").attr("aria-expanded","false"); $("#mergeReviewLogA").attr("aria-expanded","false"); $("#publishReviewLogA").attr("aria-expanded","true"); removeClass(ApplyMerge,"active"); removeClass(ApplyPublish,"active"); removeClass(MergeReviewLog,"active"); addClass(PublishReviewLog,"active"); } } ```
如何在iframe中控制自身在父页面的位置?
或者有更好的方法?只使用原生js不用jq ``` window.frames["ifm"].document.getElementById("btnOk") window.parent.document.getElementById("父窗口的元素ID"); ``` 试过这两种方法分别获取但是引入到js中代码总是无效 ``` 引入位置是匿名函数: startMove(obj,json,function(){ //这里 }); ```
gecko如何模拟按钮单击事件
想通过gecko组件编程,模拟网页的按钮提交事件: 在.net自带的类库里,可以通过 //获得按钮元素。wbs 为 System.Windows.Forms.WebBrowser 类型 HtmlElement ele3 = wbs.Document.GetElementById("loginBtn"); //触发单击事件 ele3.InvokeMember("Click"); 的方法来实现 而使用gecko类库时,通过 //m_geckoBrsr 为 Skybound.Gecko.GeckoWebBrowser 类型 GeckoElement ele = m_geckoBrsr.Document.GetElementById("loginBtn"); 方法获取了按钮元素,如何触发单击事件? 网上查找了好久,都没有得到合适的答案,求教!
关于C#webBrowser 无法获取js元素的问题
生成一个百度HTML如下,并窗口创建的时候执行 ``` <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;} #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;} #r-result{height:100%;width:20%;float:left;} </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script> <title>百度地图的Hello, World</title> </head> <body> <div id="allmap"></div> </body> </html> <script type="text/javascript"> var map = new BMap.Map("allmap"); // 创建Map实例 var point = new BMap.Point(116.404, 39.915); // 创建点坐标 map.centerAndZoom(point,15); // 初始化地图,设置中心点坐标和地图级别。 map.enableScrollWheelZoom(); //启用滚轮放大缩小 //单击获取点击的经纬度 map.addEventListener("click",function(e){ document.getElementById("mouselng").innerHTML=e.point.lng; document.getElementById("mouselat").innerHTML=e.point.lat; //alert(e.point.lng + "," + e.point.lat); //弹出消息显示坐标是可以的 }); </script> ``` ------------------------------------------------------------------------------------------------------- 现在通过C#webBrowser控件 ``` string tag_lng = webBrowser.Document.GetElementById("mouselng").InnerText; string tag_lat = webBrowser.Document.GetElementById("mouselat").InnerText; 想获取 e.point.lng和e.point.lat ``` 但是老是显示innerhtml值为空,而且值也取不出来是为什么呢?
如何根据变量获取DOM元素
var menuId = 1 [color=red]//根据外部条件可变[/color][size=medium][/size] var menuItem = document.getElementById(menuId); 以上语句,如何用JQUERY来写?
javaScript中获取获取标签的问题
目的是对下拉选框中的所有<option>标签进行操作,定义下拉选框的代码为 ``` <select id="left" multiple="true" style="width:100px" size="10"> <option>環</option> <option>芈</option> <option>琅</option> <option>琊</option> <option>爨</option> <option>甄</option> <option>槑</option> <option>夔</option> </select> ``` ``` 该文件中所有的<option>标签都在上面的<select>标签中, 对<option>进行抓取并操作的代码是 document.getElementById("toRight2").onclick=function() { arr = document.getElementById("left").options; for(i=0;i<arr.length;i++) { if(arr[i].selected) { document.getElementById("right").appendChild(arr[i]); i--; //注意:将元素添加至右边后,左边的option元素个数就减少1,所移动元素之后的标签索引减1, //为了仍然能够遍历所有的元素,应手动将当前索引值减一。 } } } ``` ```但是如果将上面获取标签的语句换成 arr = document.getElementsByTagName("option"); 运行时触发事件,则浏览器会无响应进入卡死状态,请问这是什么原因啊?这两种获取方式有什么不同吗?通过打印这两种方式获取的数组,我发现方式一得到的数组类型是[object HTMLOption Collection ]而方式二得到的数组类型是[object HTML Collection] 求大神指点 ```
js 怎么从父页面获取子iframe页面的元素节点
``` 我的父页面index.html中有 <iframe id="variety" name="variety" src="variety.html" frameborder="0" width="100%" height="450px" scrolling="no" ></iframe> 子页面variety.html中有 <div class="my-se"> <p class="my-sel">你当前选择了:</p> <div class="my-select" id="my-select">柔柔</div> </div> 在父页面js代码中 var ss =document.getElementById('variety').contentWindow.document.getElementById("my-select").innerHTML; console.log(ss); ff中:什么反应也没有 chrome中:Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match. 求指导!!! ```
json数组包含另一个json数组的值 那么重叠部分li背景改变 求大神解决
这个是第一个json数组代表全部穴位; ``` var arr = eval(json[index].xuewei); var retStr = ","; $('#xueweiList').append( $(arr).map( function() { return '<li id=' + this.acupoint_num + '><a href="#" >' + this.name + '</a></li><li>' }).get().join('')); $("#nav>ul>li").click( function() { var focus = $(this).toggleClass('h_nav_over').hasClass( 'h_nav_over'); if (focus) retStr += this.id + ','; else retStr = retStr.replace(',' + this.id + ',', ','); $("#xueweis").val(retStr.replace(/^,|,$/g, '')); }); }); ``` ![图片说明](https://img-ask.csdn.net/upload/201607/20/1468980614_604330.png) 这是第二个json数组 疾病对应的穴位 ``` $.ajax({ type : "POST", url : "/miaolangzhong/manage/forAjax.do?requestType=6", data : "id=" + id, // 发送到服务器的数据 success : function(msg) { alert(msg); var json = eval('(' + msg + ')'); document.getElementById("addEd100").style.display = "block"; /* 获取后台传来的json是数组 循环获取数据 */ $.each(json, function(index, item) { document.getElementById("id1").value = json[index].id; document.getElementById("name1").value = json[index].name; document.getElementById("desc1").value = json[index].desc; /* 获取疾病对应穴位 */ var arr2 = eval(json[index].ear_acupoint); var arrStr2 = ''; $.each(arr2, function(index, item) { // 获取后台传来的json是数组 // 循环拼接字符串 // arrStr2 += arr2[index].earName; arrStr2 += "<input type='button' id='" + arr2[index].acupoint_num + "' value='" + arr2[index].earName + "' name='earName'/>"; }); // document.getElementById("earName1").value = arrStr2; var td2 = document.getElementById("xueweiTd2"); var div2 = document.getElementById("xuewei2"); div2.innerHTML = arrStr2; td2.appendChild(div2); ``` ![图片说明](https://img-ask.csdn.net/upload/201607/20/1468980616_305842.png) 这是js部分全部代码 ``` function updateEd100(id) { $.ajax({ type : "POST", url : "/miaolangzhong/manage/forAjax.do?requestType=6", data : "id=" + id, // 发送到服务器的数据 success : function(msg) { alert(msg); var json = eval('(' + msg + ')'); document.getElementById("addEd100").style.display = "block"; /* 获取后台传来的json是数组 循环获取数据 */ $.each(json, function(index, item) { document.getElementById("id1").value = json[index].id; document.getElementById("name1").value = json[index].name; document.getElementById("desc1").value = json[index].desc; /* 获取疾病对应穴位 */ var arr2 = eval(json[index].ear_acupoint); var arrStr2 = ''; $.each(arr2, function(index, item) { // 获取后台传来的json是数组 // 循环拼接字符串 // arrStr2 += arr2[index].earName; arrStr2 += "<input type='button' id='" + arr2[index].acupoint_num + "' value='" + arr2[index].earName + "' name='earName'/>"; }); // document.getElementById("earName1").value = arrStr2; var td2 = document.getElementById("xueweiTd2"); var div2 = document.getElementById("xuewei2"); div2.innerHTML = arrStr2; td2.appendChild(div2); /* 获取所有穴位 */ var arr = eval(json[index].xuewei); /* var arr = [ { "name" : "心", "id" : "1" }, { "name" : "肝", "id" : "2" }, { "name" : "脑袋", "id" : "3" }, { "name" : "屁股", "id" : "4" } ];*/ var retStr = ","; $('#xueweiList').append( $(arr).map( function() { return '<li id=' + this.acupoint_num + '><a href="#" >' + this.name + '</a></li><li>' }).get().join('')); $("#nav>ul>li").click( function() { var focus = $(this).toggleClass('h_nav_over').hasClass( 'h_nav_over'); if (focus) retStr += this.id + ','; else retStr = retStr.replace(',' + this.id + ',', ','); $("#xueweis").val(retStr.replace(/^,|,$/g, '')); }); }); } }); } ``` 这是本体 部分 ``` <tr> <td width="15%" nowrap align="right" height="100">对应的穴位:</td> <td colspan="3" id="xueweiTd2"><div id="xuewei2" class="h_nav_over"></div></td> </tr> <tr> <td width="15%" nowrap align="right" height="100">取穴:</td> <td colspan="3" id="xueweiTd"> <div id="nav"> <ul id="xueweiList"></ul> <input id="xueweis"> </div> </td> ``` **怎么实现 当第二个json数组元素和 第一个json数组元素 名字相同时 第二个数组背景变为红色** ![图片说明](https://img-ask.csdn.net/upload/201607/20/1468981692_916749.png)
怎么获取iframe通过http请求的页面中的元素值?
获取iframe加载的页面是报了拒绝访问,知道是跨域问题,求教高手怎么解决, ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Test ContentWindow</title> <script type="text/javascript"> function getImageData() { var test = document.getElementById('LayerDMPhotoIframe').contentWindow.document.getElementById('showResults'); var data = test.innerHTML; } </script> </head> <body> <iframe src="http://ccssc.jh/index.html" id="LayerDMPhotoIframe" width="1000px" height="800px" scrolling="no" frameborder="0" style="zoom:80%;"></iframe> <button onclick="getImageData()">获取图片数据</button> </body> </html> ``` 一个是本地文件,一个是在服务器上的文件,不放在同一域名下面。
在使用jQuery时,应该如何花获取元素的值呢
比如下面的代码 ``` <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!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"> <script type="text/javascript" src="jquery.min.js"></script> <script language="javascript"> $(document).ready(function(){ var hy=document.getElementById("p1").textContent var hg=document.getElementById("button1").value $("#button1").click(function(){ $('#div1').load('limeng.asp?nm='+hy); }); }); </script> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <button id="button1" type="button" value="68888">hgjg</button> <div id="div1">这里现在是空的</div> <p id="p1">zenmjgjjgjg</p> </body> </html> ``` 用选择选择符号是无法获取的,$("#p1").textcontent,以及$("#button1").textcontent,而是使用最基本的getElementById方法,因此,使用$应该怎样获取呢,请相关朋友回答下哈,谢谢
元素ID是个字符串变量,如何用jquery选择器获得这个对象?
不用jquery时很简单如下: var id="input1"; var obj=document.getElementById(id); 用jquery想使用统一的风格获取对象,请问jquery下怎么实现?
javascript修改样式出问题了
``` </script> <script> function am(){ var o = document.getElementById("ah"); var h = o.offsetHeight-5; //高度 var a=document.getElementById('aa');//获得元素 a.style.height=0;//不写这个也一样 a.style.height=h+'px'; }; am(); </script> ``` 响应式网站.我想修改video标签的高度,来调整视频窗口大小 就用js写了一个方法获取它后面那一个框的高度,在添加上去, 进入页面的时候没问题,但是刷新之后高度就变的很小(火狐浏览器 不 会 出现这种情况) js写在页面底部的. 一直找不到哪里出了问题 求解答
DOM7011: 此页上的代码禁用了反向和正向缓存,怎么解决?
为什么ie浏览器打开时某些js效果不出来,其他浏览器都正常,提示DOM7011: 此页上的代码禁用了反向和正向缓存,怎么回事儿? ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #leftDiv{ width:185px; height:300px; border:1px solid lightgray; float: left; margin: 10px; } p{ margin: 0; padding: 0; } #middleDiv{ width: 40px; height:300px; float: left; padding-top: 20px; } button{ margin-top:20px; } #rightDiv{ width:185px; height: 300px; border:1px solid lightgray; float: left; margin:10px; } .selected{background-color: green;} </style> <script> window.onload=function() { var bigDiv=document.getElementById("bigDiv"); var leftDiv=document.getElementById("leftDiv"); var middleDiv=document.getElementById("middleDiv"); var rightDiv=document.getElementById("rightDiv"); var moveBtn=document.getElementById("moveBtn"); var moveAllBtn=document.getElementById("moveAllBtn"); var backBtn=document.getElementById("backBtn"); var backAllBtn=document.getElementById("backAllBtn"); var p=bigDiv.getElementsByTagName("p"); for(var i=0;i< p.length;i++) { var pElements=p.item(i); //鼠标移到列表,背景颜色改变,移去时消失 pElements.onmouseover=function(){ this.style.backgroundColor="lightgreen"; } pElements.onmouseout=function(){ this.style.backgroundColor=null; } //单击时选中,再次单击回到原来的状态 pElements.onclick=function(){ if(this.className=="selected") { this.className=null; }else{ this.className="selected"; } } //鼠标双击时列表被移到另一个div里面 pElements.ondblclick=function(){ if(this.parentNode.id=="leftDiv"){ rightDiv.appendChild(this); }else{ leftDiv.appendChild(this); } } } //给按钮添加效果 //点击向右移动按钮时,被选中的列表被移到右侧,并且选中状态消失 moveBtn.onclick=function(){ var p=leftDiv.getElementsByTagName("p");//因为是向右移动,所以要从左边的div里获取p元素 for(var i=0;i< p.length;i++){ var pElements= p.item(i); if(pElements.className=="selected") { rightDiv.appendChild(pElements); pElements.className=null; i--; } } } //点击向左移动按钮时,被选中的列表被移到左侧,并且选中状态消失 backBtn.onclick=function(){ var p=rightDiv.getElementsByTagName("p"); for(var i=0;i< p.length;i++){ var pElements= p.item(i); if(pElements.className=="selected") { leftDiv.appendChild(pElements); pElements.className=null; i--; } } } //点击全部右移按钮时,左侧所有的元素全部被移到右侧 moveAllBtn.onclick=function(){ var p=leftDiv.getElementsByTagName("p"); while(p.length>0){ var pElements= p.item(0); rightDiv.appendChild(pElements); pElements.className=null; } } //点击全部左移按钮时,右侧所有的元素全部被移到左侧 backAllBtn.onclick=function(){ var p=rightDiv.getElementsByTagName("p"); while(p.length>0){ var pElements= p.item(0); leftDiv.appendChild(pElements); pElements.className=null; } } } </script> </head> <body> <div id="bigDiv"> <div id="leftDiv"> <p>蛋蛋</p> <p>曹儿</p> <p>咸咸</p> <p>传小艳</p> </div> <div id="middleDiv"> <button id="moveBtn">&gt;&gt;</button> <button id="moveAllBtn">&gt;&gt;&gt;</button> <button id="backBtn">&lt;&lt;</button> <button id="backAllBtn">&lt;&lt;&lt;</button> </div> <div id="rightDiv"></div> </div> </body> </html> ```
Javascript中moveElement函数为什么总是无效?
照着Javascript DOM编程艺术打的,但是总是不能显示出移动的效果,我获取打印元素的位置,坐标值已经改变了,但是就是位置不移动 ![图片说明](https://img-ask.csdn.net/upload/201705/06/1494048490_320277.jpg) ``` function moveElement(elementID, final_x, final_y, interval) { if (!document.getElementById) return false; if (!document.getElementById(elementID)) return false; var elem = document.getElementById(elementID); if (elem.movement) { clearTimeout(elem.movement); } if (!elem.style.left) { elem.style.left = "0px"; } if (!elem.style.top) { elem.style.top = "0px"; } var xpos = parseInt(elem.style.left); var ypos = parseInt(elem.style.top); if (xpos == final_x && ypos == final_y) { return true; } if (xpos < final_x) { var dist = Math.ceil((final_x - xpos) / 10); xpos = xpos + dist; } if (xpos > final_x) { var dist = Math.ceil((xpos - final_x) / 10); xpos = xpos - dist; } if (ypos < final_y) { var dist = Math.ceil((final_y - ypos) / 10); ypos = ypos + dist; } if (ypos > final_y) { var dist = Math.ceil((ypos - final_y) / 10); ypos = ypos - dist; } elem.style.left = xpos + "px"; elem.style.top = ypos + "px"; var repeat = "moveElement('" + elementID + "'," + final_x + "," + final_y + "," + interval + ")"; elem.movement = setTimeout(repeat.interval); } ``` 在另一个制作图片切换效果的例子也是,图片不移动 ![图片说明](https://img-ask.csdn.net/upload/201705/06/1494048890_316870.jpg) ``` function prepareSlideshow() { if (!document.getElementsByTagName) return false; if (!document.getElementById) return false; if (!document.getElementById("intro")) return false; var intro = document.getElementById("intro"); var slideshow = document.createElement("div"); slideshow.setAttribute("id", "slideshow"); var preview = document.createElement("img"); preview.setAttribute("src", "images/slideshow.jpg"); preview.setAttribute("alt", "a glimpse of what awaits you"); preview.setAttribute("id", "preview"); slideshow.appendChild(preview); insertAfter(slideshow, intro); var links = intro.getElementsByTagName("a"); var destination; for (var i = 0; i < links.length; i++) { links[i].onmouseover = function() { destination = this.getAttribute("href"); if (destination.indexOf("index.html") != -1) { moveElement("preview, 0, 0, 5"); } if (destination.indexOf("about.html") != -1) { moveElement("preview, -150, 0, 5"); } if (destination.indexOf("photos.html") != -1) { moveElement("preview, -300, 0, 5"); } if (destination.indexOf("live.html") != -1) { moveElement("preview, -450, 0, 5"); } if (destination.indexOf("contact.html") != -1) { moveElement("preview, -600, 0, 5"); } } } } ```
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
记一次腾讯面试:进程之间究竟有哪些通信方式?如何通信? ---- 告别死记硬背
有一次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好。想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着”背“来记忆的,所以今天的这篇文章,讲给大家详细着讲解他们是如何通信的,让大家尽量能够理解他们之间的区别、优缺点等,这样的话,以后面试官让你举例子,你也能够顺手拈来。 1、管道 我们来看一条 Linux 的语句 netstat -tulnp | gr...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片
网络(8)-HTTP、Socket、TCP、UDP的区别和联系
TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。 一、TCP与UDP的不同 1. 是否需要建立连接。 UDP在传送数据之前不需要先建立连接;TCP则提供面向连接的服务; 2. 是否需要给出确认 对方的传输层在收到UDP报文后,不需要给出任何确认,而 TCP需要给出确认报文,要提供可靠的、面向连接的传输服务。 3.虽然UDP不提供可靠交...
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
开挂的人生!那些当选院士,又是ACM/IEEE 双料Fellow的华人学者们
昨日,2019年两院院士正式官宣,一时间抢占了各大媒体头条。 朋友圈也是一片沸腾,奔走相告,赶脚比自己中了大奖还嗨皮! 谁叫咱家导师就是这么厉害呢!!! 而就在最近,新一年度的IEEE/ACM Fellow也将正式公布。 作为学术届的顶级荣誉,不自然地就会将院士与Fellow作比较,到底哪个含金量更高呢? 学术君认为,同样是专业机构对学者的认可,考量标准不一,自然不能一概而论。 但...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库——点这里跳转 文章目录Python语言高频重点汇总**GitHub面试宝典仓库——点这里跳转**1. 函数-传参2. 元类3. @staticmethod和@classmethod两个装饰器4. 类属性和实例属性5. Python的自省6. 列表、集合、字典推导式7. Python中单下划线和双下划线8. 格式化字符串中的%和format9.
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
代码详解:如何用Python快速制作美观、炫酷且有深度的图表
全文共12231字,预计学习时长35分钟生活阶梯(幸福指数)与人均GDP(金钱)正相关的正则图本文将探讨三种用Python可视化数据的不同方法。以可视化《2019年世界幸福报告》的数据为例,本文用Gapminder和Wikipedia的信息丰富了《世界幸福报告》数据,以探索新的数据关系和可视化方法。《世界幸福报告》试图回答世界范围内影响幸福的因素。报告根据对“坎特里尔阶梯问题”的回答来确定幸...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
今年正式步入了大四,离毕业也只剩半年多的时间,回想一下大学四年,感觉自己走了不少弯路,今天就来分享一下自己大学的学习经历,也希望其他人能不要走我走错的路。 (一)初进校园 刚进入大学的时候自己完全就相信了高中老师的话:“进入大学你们就轻松了”。因此在大一的时候自己学习的激情早就被抛地一干二净,每天不是在寝室里玩游戏就是出门游玩,不过好在自己大学时买的第一台笔记本性能并不是很好,也没让我彻底沉...
如何写一篇技术博客,谈谈我的看法
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 我一直推崇学技术可以写技术博客去沉淀自己的知识,因为知识点实在是太多太多了,通过自己的博客可以帮助自己快速回顾自己学过的东西。 我最开始的时候也是只记笔记,认为自己能看得懂就好。但如果想验证自己是不是懂了,可以写成技术博客。在写技术博客的...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【设计模式】单例模式的八种写法分析
网上泛滥流传单例模式的写法种类,有说7种的,也有说6种的,当然也不排除说5种的,他们说的有错吗?其实没有对与错,刨根问底,写法终究是写法,其本质精髓大体一致!因此完全没必要去追究写法的多少,有这个时间还不如跟着宜春去网吧偷耳机、去田里抓青蛙得了,一天天的....
《面试宝典》:检验是否为合格的初中级程序员的面试知识点,你都知道了吗?查漏补缺
欢迎关注文章系列,一起学习 《提升能力,涨薪可待篇》 《面试知识,工作可待篇》 《实战演练,拒绝996篇》 也欢迎关注公 众 号【Ccww笔记】,原创技术文章第一时间推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《面试知识,工作可待篇》-Java笔试面试基础知识大全 前言 是不是感觉找工作面试是那么难呢? 在找工作面试应在学习的基础进行总结面试知识点,工作也指日可待,欢...
关于研发效能提升的思考
研发效能提升是最近比较热门的一个话题,本人根据这几年的工作心得,做了一些思考总结,由于个人深度有限,暂且抛转引入。 三要素 任何生产力的提升都离不开这三个因素:人、流程和工具,少了其中任何一个因素都无法实现。 人,即思想,也就是古人说的“道”,道不同不相为谋,是制高点,也是高层建筑的基石。 流程,即方法,也是古人说的“法”。研发效能的提升,也就是要提高投入产出比,既要增加产出,也要减...
微博推荐算法简述
在介绍微博推荐算法之前,我们先聊一聊推荐系统和推荐算法。有这样一些问题:推荐系统适用哪些场景?用来解决什么问题、具有怎样的价值?效果如何衡量? 推荐系统诞生很早,但真正被大家所重视,缘起于以”facebook”为代表的社会化网络的兴起和以“淘宝“为代表的电商的繁荣,”选择“的时代已经来临,信息和物品的极大丰富,让用户如浩瀚宇宙中的小点,无所适从。推荐系统迎来爆发的机会,变得离用户更近: 快...
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问