【js操作dom对象学习笔记一之div显示与隐藏】

DOM 文档对象模型
文档:把一个html文件看成是一个文档,由于万物皆对象,所以把这个文档看成一个对象。
      html文件看成一个文档,那么这个文档看成一个对象,文档中的所有的标签都可看成一个对象

页面中的每个标签,都是一个元素(element),每个元素都可以看成一个对象

html页面中都有一个根标签---html--也叫根元素

文档:一个页面就算一个文档
元素(element):页面中的所有的标签都是元素,元素可以看成是对象
节点(node):页面中所有的内容都是节点:标签,属性,文本
root:根


1.根据id获取元素

document.getElementById("btn");

eg:document.getElementById("btn").οnclick=function(){
    alert("弹框了");
}
<input type="button" value="弹框" id="btn"/>


凡是成对的标签,中间的文本内容,设置的时候,都使用innerText这个属性的方式
eg:点击按钮,修改p标签的显示内容
 document.getElementById("btn").οnclick=function(){
    document.getElementById("p1").innerText="这是一个p";
}
<input type="button" value="设置p的内容" id="btn"/>
<p id="p1">我是一个p标签</p>

2.document.getElementsByTagName("标签的名字");  
 返回的是一个伪数组,无论是获取一个标签还是多个标签,最终都是在数组中存储的,返回的是一个数组

 在某个元素的事件中,自己的事件中的this就是当前的这个元素的对象

eg.案例,排他功能
   <input type="button" value="没怀孕"/>
  <input type="button" value="没怀孕"/>
  <input type="button" value="没怀孕"/>
  <input type="button" value="没怀孕"/>
  <input type="button" value="没怀孕"/>
  <input type="button" value="没怀孕"/>

   //获取所有按钮,分别注册点击事件
   var btnObj=document.getElementsByTagName("input");
   //循环遍历所有的按钮
   for(var i=0;i<btnObj.length;i++){
    //为每个按钮注册点击事件
    btnObj[i].οnclick=function(){
        //把所有按钮的value值设为默认值,需要在遍历一次
        for(var j=0;j<btnObj.length;j++){
           btnObj[j].value="没怀孕";
        }
        //当前被点击的按钮设置为:怀孕了
          this.value="怀孕了";
     
        }
  }
 

3.在表单标签中,如果属性和值只有一个,并且值是这个属性本身,那么
在写js代码,DOM操作的时候,这个属性值,是布尔类型就可以了
 eg:点击按钮修改性别
 <input type="button" value="修改性别" id="btn1"/>
<input type="radio" value="1" name="sex"/>男
<input type="radio" value="2" name="sex" id="rad1"/>女
<input type="radio" value="3" name="sex"/>保密

function my$(id) {
    return document.getElementById(id);
  }
  
  my$("btn1").onclick = function () {
    my$("rad1").checked = true;
  };

4.凡是css中这个属性是多个单词的写法,在js代码中DOM操作的时候.把-干掉,后面的单词的首字母大写即可
 eg:点击按钮修改div宽、高、背景颜色

 <input type="button" value="div" id="btn"/>
  <div id="dv"></div>

function my(id){
       return document.getElementById(id);
   }
       
       my("btn").οnclick=function(){
           my("dv").style.width="300px";
           my("dv").style.height="200px";
           my("dv").style.backgroundColor="pink";
       }

5.js控制div的显示或隐藏
  document.getElementById("div1").style.display="block";//显示
  document.getElementById("div2").style.display="none";//隐藏
eg:点击按钮显示和隐藏
   div{
            width:300px;
            height:200px;
            background-color:pink;
          }

   <input type="button" value="隐藏" id="btn"/>
  <div id="dv"></div>

  function my(id){
    return document.getElementById(id);
 }
  my("btn").οnclick=function(){
    if(my("btn").value=='显示'){
       my("dv").style.display="block";
    this.value="隐藏";
     }else if(my("btn").value=='隐藏'){
    my("dv").style.display="none";
    this.value="显示";
    }
 }
6.js代码中DOM操作的时候,设置元素的类样式,不用class关键字,应该使用,className
  document.getElementById("dv").className="cls";

  .cls{
    width:300px;
    height:200px;
    background-color:yellow;
    border:2px solid red;
  }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会注意保密。针对你的问题,我来给你解答一下。 对于弹窗的位置,可以通过设置弹窗的锚点(anchor)和偏移量(offset)来进行调整。锚点可以是弹窗的中心点(center)、右上角的点(upper-right)、左上角的点(upper-left)、左下角的点(lower-left)或者右下角的点(lower-right)。偏移量可以分别设置水平和垂直方向的偏移量,可以为正数或负数。 下面是一个示例代码: ``` require([ "esri/Map", "esri/views/MapView", "esri/widgets/Popup", "dojo/dom-construct", "dojo/dom-style", "dojo/on", "dojo/domReady!" ], function(Map, MapView, Popup, domConstruct, domStyle, on) { var map = new Map({ basemap: "streets" }); var view = new MapView({ container: "viewDiv", map: map, center: [-118.805, 34.027], zoom: 13 }); var popup = new Popup({ anchor: "center", // 设置锚点为中心点 offset: [0, -15], // 设置垂直方向的偏移量为-15 visibleWhenEmpty: false, // 当没有内容时不显示弹窗 view: view }); view.popup = popup; view.on("click", function(event) { var lat = event.mapPoint.latitude.toFixed(3); var lon = event.mapPoint.longitude.toFixed(3); var content = domConstruct.create("div", { innerHTML: "Latitude: " + lat + "<br>Longitude: " + lon }); popup.content = content; popup.open({ location: event.mapPoint }); }); }); ``` 对于为弹窗添加元素,可以使用 dojo/dom-construct 模块来进行创建和添加。可以使用这个模块的 create() 方法来创建 HTML 元素,然后使用 popup.content 属性来添加到弹窗中。 下面是一个示例代码: ``` var content = domConstruct.create("div", { innerHTML: "<b>Hello, world!</b>" }); popup.content = content; popup.open({ location: event.mapPoint }); ``` 希望这些信息能够帮到你,如果你还有其他问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值