位置: IT常识 - 正文

【JavaScript速成之路】一文带你掌握DOM基础(javascript最好的教程)

编辑:rootadmin
【JavaScript速成之路】一文带你掌握DOM基础

推荐整理分享【JavaScript速成之路】一文带你掌握DOM基础(javascript最好的教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript怎么学起来,javascript怎么学起来,javascript速成要多久,javascript快速入门,javascript简明教程,javascript速成要多久,javascript 教程,javascript 教程,内容如对您有帮助,希望把文章链接给更多的朋友!

📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀!

文章目录前言1,Web API简介1.1,初识Web API1.2,Web API与API的关系2,DOM简介2.1,DOM概述2.2,DOM树3,元素获取3.1,根据id获取元素3.2,根据标签获取元素3.3,根据name获取元素3.4,HTML5新增获取元素3.5,document对象的属性4,事件基础4.1,事件概述4.2,事件三要素5,元素操作5.1,元素内容操作5.2,元素属性操作5.3,元素样式操作6,属性操作6.1,属性值获取6.2,属性值设置6.3,属性值移除7,自定义属性7.1,属性值设置7.2,属性值获取结语前言

小杨在上一篇带着大家一起学习了JavaScript中的内置对象,JavaScript基础的语法就结束了,下面我们将继续学习JavaScript中的DOM,希望大家通过阅读此文快速掌握DOM。

1,Web API简介1.1,初识Web API

JavaScript语言由三部分组成,分别是ECMAScript,BOM和DOM,其中ECMAScript是JavaScript语言的核心,它的内容包括JavaScript基础语法,数组,函数,对象等;而Web API语法包括BOM和DOM。

1.2,Web API与API的关系

1,API

API(应用程序编程接口)是一些预先定义的函数,这些函数是由某个软件开放给开发人员使用的,帮助开发者实现某种功能。开发人员无须访问源码,无须理解其内部工作机制细节,只需知道使用即可。

2,Web API

Web API是主要针对浏览器的API,在JavaScript语言中被封装成了对象,通过调用对象的属性和方法就可以使用Web API。

2,DOM简介2.1,DOM概述

文档对象模型,是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口。

W3C定义了一系列的DOM接口,利用DOM可完成对HTML文档内所有元素的获取,访问,标签属性和样式的设置等操作。

在实际开发中,诸如改变盒子的大小,标签栏的切换,购物车功能等带有交互效果的页面,都离不开DOM。

2.2,DOM树

DOM中将HTML文档视为树结构,所以被称为文档树模型,把文档映射成树形结构,通过节点对象对其处理,处理的结果可以加入到当前的页面。

DOM中的专有名词:

文档(document):一个页面就是一个文档。元素(element):页面中的所有标签都是元素。节点(node):页面中的所有内容,在文档树中都是节点(元素节点,属性节点,文档节点,注释节点等)。DOM中把所有的节点都看作成对象,这些对象拥有自己的属性和方法。3,元素获取

在开发中,想要操作页面的某一部分(如控制一个div元素的显示或隐藏,修改元素div元素的内容),需要先获取该部分对应的元素,在对其进行操作。

3.1,根据id获取元素

getElementById()方法是由document对象提供的用于查找元素的方法。

该方法返回的是拥有指定id的元素,如果没有找到指定id的元素则返回null,如果存在多个指定id的元素,则返回undefined。

需要特别注意,JavaScript中严格区分大小写,所以书写过程中一定要规范,否则程序会报错。

根据id获取元素语法格式:

document.getElementById('id');

通过一示例演示document.getElementById(‘id’)方法的使用:

<body> <div id="box">你好!</div> <script> //使用getElementById()获取元素 var Obox = document.getElementById('box'); //通过id获取元素,并赋值给Obox console.log(Obox); //打印获取元素 console.log(typeof Obox); //检测数据类型 console.dir(Obox); //打印返回的元素对象,更好查看里面的属性和方法 </script></body>

效果如下图:

3.2,根据标签获取元素

根据标签名获取元素的方式有2种,分别是通过document对象获取元素和通过element对象获取元素。

根据标签获取元素语法格式:

//方法1:通过document对象获取元素document.getElementsByTagName('标签名');//方法2:通过element对象获取元素element.getElementsByTagName('标签名');

document对象是从整个文档中查找元素。

element是元素对象的统称,通过元素对象可以查找该元素的子元素或后代元素,实现局部查找元素的效果。

由于相同标签的元素可能有多个,上述方法返回的不是单个元素对象,而是一个集合。如果标签不存在,返回一个空的集合,不报错。

这个集合是一个类数组对象,或称为伪数组,它可以像数组一样通过索引访问元素,但不能使用push()等方法。

可以使用Array.isArray()方法来证明这个集合不是一个数组,而是一个伪数组。

通过具体代码演示通过document对象获取元素:

<body> <ul> <li>第1个li</li> <li>第2个li</li> <li>第3个li</li> <li>第4个li</li> <li>第5个li</li> </ul> <script> //使用getElementsByTagName()获取元素 var lis = document.getElementsByTagName('li'); //通过标签名获取元素,并赋值给lis console.log(lis); //打印获取的元素,返回的是获取过来的元素对象的集合,以伪代码的形式存储的 console.log(lis[0]); //打印lis里面的第一个元素 console.log('------------'); for(var i = 0; i < lis.length; i++){ //使用遍历的方式依次打印lis里面的元素对象 console.log(lis[i]); } </script></body>

效果如下图:

如果页面中只有1个li,返回的还是伪数组的形式如果页面中没有li这个元素,返回的是空的伪数组的形式

通过具体代码演示通过element对象获取元素的操作:

<body> <ul> <li>苹果</li><li>香蕉</li><li>葡萄</li><li>西瓜</li> </ul> <ol id="ol"> <li>红色</li><li>绿色</li><li>黄色</li><li>蓝色</li> </ol> <script> //法1: var ol = document.getElementsByTagName('ol'); //伪数组形式不可以作为父元素 console.log(ol[0].getElementsByTagName('li')); //父元素必须是单个对象(必须指明是哪一个元素) //法2: var ol = document.getElementById('ol'); console.log(ol.getElementsByTagName('li')); </script></body>

效果如下图:

3.3,根据name获取元素

通过name属性获取元素应使用document.getElementsByName()方法,一般用于获取表单元素。

name属性的值不要求必须是唯一的,多个元素也可以有相同的名字,如表单中的单选框和复选框。

根据name获取元素的语法格式:

document.getElementsByName('name属性值');

通过以复选框为例演示根据name获取元素的操作:

<body> <p>请选择你最喜欢的游戏(多选)</p> <label for=""><input type ='checkbox' name = 'game' value = '王者'>王者荣耀</label> <label for=""><input type ='checkbox' name = 'game' value = '和平'>和平精英</label> <label for=""><input type ='checkbox' name = 'game' value = '炫斗'>QQ炫斗</label> <script> //getElementsByName()获取元素 var games = document.getElementsByName('game'); games[0].checked = true; </script></body>

效果如下图:

3.4,HTML5新增获取元素

HTML5中为document对象新增了getElementsByClassName(),querySelector()和querySelectorAll()方法,在使用时考虑兼容性问题。

1,根据类名获取

getElementsByClassName()方法,用于通过类名来获取某些元素的集合。

根据类名获取元素语法格式:

document.getElementsByClassName('类名');

下述对根据类名获取元素的操作进行演示:

<body> <span class='one'>语文</span> <span class='two'>数学</span> <span class='one'>化学</span> <span class='two'>英语</span> <script> //根据类名获取元素getElementsByClassName() var Ospan1 = document.getElementsByClassName('one'); var Ospan2 = document.getElementsByClassName('two'); Ospan1[0].style.fontWeight = 'bold'; Ospan2[1].style.background = 'red'; </script></body>

效果如下图:

2,querySelector()和querySelectorAll()

querySelector()方法用来访问指定选择器的第一个元素对象。querySelectorAll()方法用于访问指定选择器的所有元素对象集合。

下述对querySelector()和querySelectorAll()两种方法的使用进行演示:

<body> <div class="box">盒子1</div> <div class="box">盒子2</div> <div id="nav"> <ul> <li>首页</li> <li>产品</li> </ul> </div> <script> var firstBox = document.querySelector('.box'); console.log(firstBox); //获取class为box的第一个div var list = document.querySelector('li'); console.log(list); //获取匹配到的第一个li var nav = document.querySelector('#nav'); console.log(nav); //获取id为nav的第一个div var allBox = document.querySelectorAll('.box'); console.log(allBox); //获取class为box的所有div var lists = document.querySelectorAll('li'); console.log(lists); //获取匹配到的所有li </script></body>

效果如下图:

3.5,document对象的属性属性说明document.body返回文档的body元素document.title返回文档的title元素document.documentElement返回文档的html元素document.forms返回对文档所有的form对象的引用document.images返回对文档所有的image对象的引用

对document对象的属性操作进行演示:

<body> <script> var bodyElement = document.body; console.log(bodyElement); //返回文档的body元素 var htmlElement = document.documentElement; console.log(htmlElement); //返回文档的html元素 var titleElement = document.title; console.log(titleElement); //返回文档的title元素 var fromElement = document.forms; console.log(fromElement); //返回文档的form元素 var imageElement = document.image; console.log(imageElement); //返回文档的image元素 </script></body>

效果如下图:

4,事件基础4.1,事件概述

在开发中,JavaScript帮助开发者创建带有交互效果的页面,是依靠事件来实现的。

事件是指可以被JavaScript侦测到的行为,是一种“触发-响应”的机制。

这些行为指的是页面的加载,鼠标点击页面,鼠标指针滑过区域等具体操作动作,它对实现交互效果有很重要的作用。

4.2,事件三要素

事件由事件源,事件类型,事件处理程序3部分组成,又称事件三要素。

事件源:触发事件的元素事件类型:如onclick 单击事件事件处理程序:事件触发后要执行的代码(函数形式),也称事件处理函数。

简便理解为:谁触发了事件,触发了什么事件,触发事件以后要做什么。

在开发中,为了元素在触发事件时执行特定的代码,需要为元素注册事件,绑定事件和处理函数。

具体步骤:首先获取元素,其次注册事件,最后编写事件处理代码。

通过演示为按钮绑定点击事件来演示事件的使用:

<body> <button id="btn">单击有惊喜!!!</button> <script> //步骤1:获取事件源 var btn = document.getElementById('btn'); //步骤2:注册事件btn.onclick btn.onclick = function(){ //步骤3:添加事件处理程序(采取函数赋值的方式) alert('你上当了!!!'); } </script></body>【JavaScript速成之路】一文带你掌握DOM基础(javascript最好的教程)

效果如下图:

5,元素操作

在JavaScript中,DOM操作可以改变网页内容,结构和样式。

5.1,元素内容操作

在JavaScript中,想要操作元素内容,必须先获取到该元素。

属性说明element.innerHTML设置或返回元素开始和结束标签之间的HTML,包括HTML标签,同时保留空格和换行element.innerText设置或返回元素的文本内容,在返回的时候会去除HTML标签和多余的空格,换行,在设置时会进行特殊字符转义element.textContent设置或返回指定节点的文本内容,同时保留空格和换行

分别使用innerHTML,innerText,textContent属性在控制台输出一段HTML文本:

<body> <div>床前明月光</div> <p> 疑是地上霜 <a href="">举头望明月</a> </p> <script> //获取元素 var div = document.querySelector('div'); //通过innerText修改元素内容 div.innerText = '低头思故乡'; //获取元素 var p = document.querySelector('p'); //通过innerHTML打印元素内容 console.log(p.innerHTML); //通过innerText打印元素内容 console.log(p.innerText); //通过textContent打印元素内容 console.log(p.textContent); </script></body>

效果如下图:

总结:

innerHTML在使用时会保持编写的格式以及标签样式。innerText则是去掉所有的格式以及标签的纯文本内容。textContent属性在去掉标签后保留原有的文本格式。5.2,元素属性操作

在DOM中,HTML属性操作是指使用JavaScript来操作一个元素的HTML属性。

一个元素包含多个属性。例如,对于一个img图片来说,可以操作的属性有src,title等属性。

通过单击按钮操作img元素属性来演示操作元素的属性:

<body> <button id="wz">王者独角兽</button> <button id="sl">圣灵草王</button> <br> <img src="" alt="" > <script> //1,获取元素 var btn1 = document.getElementById('wz'); var btn2 = document.getElementById('sl'); var img = document.querySelector('img'); //2,注册事件 btn1.onclick = function(){ img.src = 'img1.png'; }; btn2.onclick = function(){ img.src = 'img2.png'; }; </script></body>

效果如下图:

5.3,元素样式操作

操作元素样式的方法有两种方式,一是通过操作style属性,另外一种是通过操作className属性。

1,操作style属性

对于元素对象的样式,可以直接通过“元素对象.style.样式属性名’的方式操作。

样式属性名对应css样式名,但需要去掉css样式中的半字线"-",并将半字线后面的英文的首字母大写。

例如,设置字体大小的样式名font-size,对应的样式属性名为fontSize…

常见style属性中CSS样式名称:

名称说明background设置或返回元素的背景属性backgroundColor设置或返回元素的背景色display设置或返回元素的显示类型fontSize设置或返回元素的字体大小height设置或返回元素的高度left设置或返回定位元素的左部位置listStyleType设置或返回列表项标记的类型overflow设置或返回如何处理呈现在元素框外的内容textAlign设置或返回文本的水平对齐方式textDecoration设置或返回文本的修饰textIndex设置或返回文本第一行的缩进transform向元素应用2D或3D转换

通过对元素样式的添加来演示如何采取style属性来操作元素样式:

<style> div{ background-color: red; }</style><body> <div id="box"></div> <script> //操作style属性操作元素样式 //1,获取元素对象 var box = document.querySelector('#box'); //添加元素对象的样式width,height box.style.width = '100px'; box.style.height = '100px'; //修改元素对象的样式backgroundColor box.style.backgroundColor = 'yellow'; </script></body>

效果如下图:

2,操作className属性

在开发中,如果样式修改较多,可以采取操作类名的方式更改元素样式,语法为“对象.className”。

访问className属性的值表示获取元素的类名,为className属性赋值表示更改元素类名。

如果元素有多个类名,在className中以空格分隔。

如何使用className更改元素的样式?

1)编写html结构代码

2)单击div元素更改元素的样式

3)在style中添加一个charge类

4)单击div盒子,查看效果

通过具体代码演示通过使用className更改元素的样式的操作:

<style> div{ width:200px; height:200px; background-color: red; } .charge{ width:400px; height:400px; background-color: pink; }</style><body> <div class="one">文本内容</div> <script> var test = document.querySelector('div'); test.onclick = function(){ this.className = 'charge'; } </script></body>

效果如下图:

6,属性操作

在HTML中,元素可被划分为2类,即内置属性和自定义属性。

内置属性就是元素自带的属性,如id,class,style,title,hidden等自定义属性就是程序猿在实际开发时为元素添加的属性,如index …6.1,属性值获取

在DOM中,内置属性值的获取可以使用elememt.属性 ,而自定义属性的获取却不能直接使用该语法。

那么如何对自定义属性进行获取呢? 在DOM中,自定义属性的获取可以使用element.getAttribute('属性')。

通过具体代码演示属性值获取的操作:

<body> <div id="demo" index="1"></div> <script> var div = document.querySelector('div'); //获取元素的属性值法1:element.属性 获取内置属性值(元素本身自带的属性) index为自定义属性 故无法获取 console.log(div.id); console.log(div.index); //获取元素的属性值法2:element.getAttribute('属性') 只要获取自定义属性(标准) 我们自己自定义的属性称为自定义属性 console.log(div.getAttribute('id')); console.log(div.getAttribute('index')); </script></body>

示例效果:

6.2,属性值设置

在DOM中,内置属性值的设置可以使用elememt.属性 = 属性值 的方式,而自定义属性的获取却不能直接使用该语法。

那么如何对自定义属性进行设置呢? 在DOM中,自定义属性的设置可以使用element.setAttribute('属性')。

通过具体代码演示内置属性值设置的操作:

<body> <div></div> <script> div = document.querySelector('div'); //设置元素的属性值法1:element.属性 = '值' 针对内置属性(标准) div.id = 'demo1'; div.className = 'nav'; div.index = '1'; </script></body>

示例效果:

通过具体代码演示自定义属性值设置的操作:

<body> <div></div> <script> div = document.querySelector('div'); //设置元素的属性值法2:element.setAttribute('属性','值') 主要针对自定义属性(标准) div.setAttribute('index','2'); div.setAttribute('class','footer'); </script></body>

示例效果:

6.3,属性值移除

在DOM中,内置属性和自定义属性的值移除都是通过element.removeAttribute('属性') 的方式。

通过具体代码演示属性值移除的操作:

<body> <div id="demo" class="nav" index="2"></div> <script> var div = document.querySelector('div'); div.removeAttribute('id'); div.removeAttribute('class'); div.removeAttribute('index'); </script></body>

示例效果:

7,自定义属性

一般自定义属性可以通过getAttribute('属性') 方法来获取。

但有些自定义的属性很容易引起歧义,难以判断其是内置属性还是自定义属性。

因此,HTML5新增了自定义属性的规范,通过data-属性名 的方式来进行自定义属性的设置。

7.1,属性值设置

元素的data-属性名 自定义属性的设置有2种方式,即在HTML中设置和在JavaScript中设置的两种方式。

1,在HTML中设置自定义属性

<body> <div data-index="2"></div></body>

2,在JavaScript中设置自定义属性

在JavaScript中,设置自定义属性的方式有两种,

元素对象.dataset.属性名='属性值'元素对象.setAttribute('属性',属性值)<body> <div></div> <script> var div = document.querySelector('div'); div.dataset.index = '2'; div.setAttribute('data-name','anna'); </script></body>

7.2,属性值获取

在DOM中,自定义属性的属性值的获取方式有2种。

元素对象.getAttribute('属性') ,该方法可以获取内置属性或者自定义属性,无兼容性问题,推荐使用。HTML5新增的元素对象.dataset('属性')或者元素对象.dataset['属性'] ,有兼容性问题,从IE 11 才支持使用,不推荐使用。

如果自定义属性里面包含有多个连字符(-)时,获取的时候采用驼峰命名法。

HTML5新增的获取自定义属性的方法,只能只能获取以data-开头的自定义属性。

<body> <div getTim="20" data-index="2" data-list-name="anna"></div> <script> var div = document.querySelector('div'); // 方式1:通过`元素对象.getAttribute('属性')`获取属性值 console.log(div.getAttribute('data-index')); console.log(div.getAttribute('data-list-name')); // 方式2:通过HTML5新增的方式来获取属性值,只能获取以data-开头的自定义属性 console.log(div.dataset); console.log(div.dataset.index); console.log(div.dataset['index']); console.log(div.dataset.listName); console.log(div.dataset['listName']); </script></body>

效果如下:

结语

这就是本期博客的全部内容啦,想必大家已经对Javascript中的DOM的相关内容有了全新地认识和理解吧,如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!

本文链接地址:https://www.jiuchutong.com/zhishi/299301.html 转载请保留说明!

上一篇:Python人脸识别智能考勤系统 (供源码,附报告)(可答疑,可调试)

下一篇:最全CTF Web题思路总结(更新ing)(ctf题目网站)

  • 强制关闭程序快捷键ctrl加什么(强制关闭程序快捷键c)

    强制关闭程序快捷键ctrl加什么(强制关闭程序快捷键c)

  • 手机的NFC功能能干嘛(手机的nfc功能能复制几个id卡)

    手机的NFC功能能干嘛(手机的nfc功能能复制几个id卡)

  • nova5pro取卡针插哪(华为nova5pro取卡的针孔是哪个)

    nova5pro取卡针插哪(华为nova5pro取卡的针孔是哪个)

  • 手机键盘ctrl在哪里(ctrl键在手机键盘用什么键代替)

    手机键盘ctrl在哪里(ctrl键在手机键盘用什么键代替)

  • 快手上怎么看别人关注的人(快手上怎么看别人的位置)

    快手上怎么看别人关注的人(快手上怎么看别人的位置)

  • 视频会议1小时需要多少流量(视频会议一个小时能用多少g)

    视频会议1小时需要多少流量(视频会议一个小时能用多少g)

  • vivos1屏幕多大尺寸(vivos1屏幕几寸)

    vivos1屏幕多大尺寸(vivos1屏幕几寸)

  • 网易云七级需要听多少歌(网易云七级需要多少首歌)

    网易云七级需要听多少歌(网易云七级需要多少首歌)

  • 无线充电的好处和坏处(手机无线充电的好处)

    无线充电的好处和坏处(手机无线充电的好处)

  • 网络正常平板不能上网(网络没问题平板上不去网)

    网络正常平板不能上网(网络没问题平板上不去网)

  • 重新登录前部分账户不可用怎么解决(重新登录前部分账户服务将不可用点继续没反应)

    重新登录前部分账户不可用怎么解决(重新登录前部分账户服务将不可用点继续没反应)

  • 开热点为什么别人用不了(开热点为什么别人用着很卡)

    开热点为什么别人用不了(开热点为什么别人用着很卡)

  • 网络繁忙请稍后再试怎么办(网络繁忙请稍后再试3008)

    网络繁忙请稍后再试怎么办(网络繁忙请稍后再试3008)

  • 格式化sd卡后还能用吗(格式化后sd卡不可用,怎么修复)

    格式化sd卡后还能用吗(格式化后sd卡不可用,怎么修复)

  • word如何一键排序(word如何一键排版图片)

    word如何一键排序(word如何一键排版图片)

  • 一加卡券卸载了怎么办(一加卡券app不能安装)

    一加卡券卸载了怎么办(一加卡券app不能安装)

  • 华为nova5i四个摄像头怎么用(华为nova5四摄是摆设吗)

    华为nova5i四个摄像头怎么用(华为nova5四摄是摆设吗)

  • 怎么在小红书注册店铺(怎么在小红书注册账号)

    怎么在小红书注册店铺(怎么在小红书注册账号)

  • 描述文件安装失败(描述文件安装失败设备被锁定)

    描述文件安装失败(描述文件安装失败设备被锁定)

  • 小米手环3黑屏(小米手环3黑屏休眠激活方法)

    小米手环3黑屏(小米手环3黑屏休眠激活方法)

  • 关闭Windows Defender的一种方法(关闭windows defender实时防护)

    关闭Windows Defender的一种方法(关闭windows defender实时防护)

  • launchap.exe是什么进程 有什么用 launchap进程查询(launcher是啥)

    launchap.exe是什么进程 有什么用 launchap进程查询(launcher是啥)

  • 【Linux】rm 命令:删除文件/文件夹(linux rm 命令)

    【Linux】rm 命令:删除文件/文件夹(linux rm 命令)

  • 微信小程序父子组件之间传值(微信小程序父子通信)

    微信小程序父子组件之间传值(微信小程序父子通信)

  • c语言中sizeof是什么(c语言中sizeof是啥意思)

    c语言中sizeof是什么(c语言中sizeof是啥意思)

  • 一个季度超过30万怎么做账
  • 印花税的征税对象是条例列举的凭证未列举的不征税
  • 关税计算怎么算?
  • 代理费住宿费都包括什么
  • 个体户开电子发票需要交税吗
  • 使用党费要向哪里倾斜
  • 对公账号收款是结算主账户还是结算卡号
  • 定期定额自行申报表填表说明
  • 自建固定资产入账
  • 收到工伤赔偿款会计分录
  • 资产减值损失借贷方向
  • 电子承兑汇票到期前10天可以做提示付款
  • 购税控盘账务处理
  • 支付员工提成奖金怎么做会计分录?
  • 建安企业会计分录实操
  • 资金周转率计算公式期初占用资金
  • 房地产企业销售现房是否预缴增值税
  • 分支机构企业所得税计提和缴纳数额不一致怎么办?
  • 企业销售产品的成本是指已销产品的
  • 无票收入应附什么单据
  • 法的分级
  • 所得税弥补亏损年限10
  • 服务行业也有合伙人吗
  • 微税平台抄税的步骤是怎样的?
  • 汽修厂纳税多少
  • 商业承兑汇票到期日付款人账户不足付款时
  • 京挑客怎么赚钱
  • 抄报税失败不许逾期报税吗
  • 认缴出资日期是2050什么意思
  • searchnavversion.exe - searchnavversion是什么进程 作用是什么
  • 你知道约定的公司有哪些
  • 其他应付款年末怎么结转
  • 安装win7提示版本过低
  • 企业所得税具体纳税筹划案例
  • 亏损销售怎么结转库存成本怎么计算
  • 磷酸二氢钙生产
  • 企业纳税额包括个人所得税吗
  • 小规模未达起征点免税分录
  • 成本费用科目包括
  • php 取字符串 前几位
  • vue使用什么语言
  • 资产减值损失为什么要调增
  • 新会计准则对财务工作的影响
  • 税金及附加也是费用吗
  • 预算会计年末怎么结账
  • 事业单位的账务处理要分预算会计和财务会计吗
  • 递延所得税资产和所得税费用的关系
  • linux中备份
  • 盘盈固定资产明细表
  • 高新技术企业研发费用占比要求
  • 小规模纳税人购买税控设备
  • 规模以上企业纳税要求
  • 物流公司的修理工资高吗
  • 票据质押如何做账
  • 成本暂估跨年度怎么算
  • 09年前的固定资产
  • 企业出售废旧材料的收入
  • 工会里的钱
  • 其他应付款贷方余额怎么冲平
  • 出口转内销账务处理以前年度
  • xp系统怎么删除系统
  • Win2003 上配置 VPN + NAT共享上网的步骤分享
  • linux给root权限
  • vpengine.exe进程
  • windows xp密码忘记怎样解锁
  • linux系统中文件权限分为哪三种
  • mac中通过python关闭浏览器中的finder弹框
  • mac安装软件提示无法检查更新
  • Remoterm.exe - Remoterm是什么进程 有什么用
  • windows8怎么设置锁屏时间
  • unity 3d场景2d角色
  • shell脚本相互调用
  • jsonobject.parseobject异常
  • 不配合税务检查的法律责任
  • 广西税务软件
  • 车辆缴纳购置税多少钱
  • 个人所得税申报怎么申报
  • 汽车排量与购置税的关系
  • 集体土地征收应该有哪些文件
  • 税务筹划收费标准最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设