barriers / 阅读 / 详情

flash常用命令

2023-07-28 07:42:46
共4条回复
马老四

===========FLASH脚本语言详解================

- Go to 跳转到指定的帧

- Play 播放

- Stop 停止

- Toggle High Quality 在高画质和低画质间切换

- Stop All Sounds 停止所有声音的播放

- Get URL 跳转至某个超联结

- FSCommand 发送FSCommand命令

- Load Movie 装载影片

- Unload Movie 卸载影片

- Tell Target 告知目标

- If Frame Is Loaded ..判断帧是否被完全载入

- On Mouse Event 鼠标事件

。其他Actions。包括:

- break 跳出循环

- call 调用指定帧(一般喊有某个特定函数)

- comment 注释

- continue 继续循环

- delete 删除一个对象(Object)中的变量

- do while do while循环

- duplicateMovieClip 复制MC

- else 否则(与if联用)

- else if 否则如果(与if联用)

- evaluate 调用自定义函数(Function)

- for for循环

- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素

- FSCommand 发送FSCommand命令

- function 声明自定义函数

- getURL 跳转至某个超联结

- goto 跳转到指定的帧

- if 如果

- ifFrameLoaded ..帧是否完全被载入

- include 读入外部的ActionScript程序文件(.as)

- loadMovie 装载MC

- loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值

- on 鼠标事件的触发条件

- onClipEvent MC的事件触发程序

- play 播放

- print 输出到打印机

- removeMovieClip 删除MC

- return 在函数(function)中返回一个值

- set variable 设定变量值

- setProperty 设定属性

- startDrag 开始拖动

- stop 停止

- stopAllSounds 停止所有声音的播放

- stopDrag 停止拖动

- swapDepths 交换两个MC的深度

- tellTarget 指定Action命令生效的目标

- toggleHighQuality 在高画质和低画质间切换

- trace 跟踪调试

- unloadMovie 卸载MC

- var 声明局部变量

- while 当..成立时..

- with 对..对象(Object)做..

。操作符( Operators)

- ! 逻辑非操作

- != 不等于

- "" 字符串

- % 取余数

- && 逻辑与操作

- () 括号

- * 乘号

- + 加号

- ++ 变量自加一

- - 减号

- -- 变量自减一

- / 除号

- < 小于

- <= 小于等于

- > 不等于

- == 相等

- > 大于

- >= 大于等于

- and 逻辑与

- not 逻辑非

- or 逻辑或

- typeof 返回变量类型

- void 实体,无返回

- | | 逻辑或操作

+ Bitwise Operators 位操作符

- & 位与操作

- << 位左移

- >> 位右移

- >>> 位右移(无符号)

- ^ 位异或操作

- | 位或操作

- ~ 补位操作

+ Compound Assign Operators 复合操作符

- %= A%=B 等效于 A=A%B

- &= A&=B 等效于 A=A&B

- *= A*=B 等效于 A=A*B

- += A+=B 等效于 A=A+B

- -= A-=B 等效于 A=A-B

- /= A/=B 等效于 A=A/B

- <<= A<<=B 等效于 A=A<<B

- >>= A>>=B 等效于 A=A>>B

- >>>= A>>>=B 等效于 A=A>>>B

- ^= A^=B 等效于 A=A^B

- |= A|=B 等效于 A=A|B

+ String Operators 字符串操作符(注:实质上是ASCII的比较)

- add 连接两个字符串

- eq A eq B 字符串A值与字符串值B相等

- ge A ge B 字符串A值大于等于字符串B值

- gt A gt B 字符串A值大于字符串B值

- le A le B 字符串A值小于等于字符串B值

- lt A lt B 字符串A值小于字符串B值

- ne A ne B 字符串A值不等于字符串B值

+ Functions 函数

- Boolean 取表达式的布尔值(True 或 False)

- escape 除去URL串中的非法字符,将其参数按照URL编码的格式转化为字符串(String)

- eval 访问并计算表达式(expression)的值,并以字符串(String)的形式返回该值

- false 布尔非值(0)

- getProperty 获取属性

- getTimer 获取从电影开始播放到现在的总播放时间(毫秒数)

- getVersion 获取浏览器的FLASHPlayer的版本号

- globalToLocal 场景(Scene)中的坐标转换成MC中的坐标

- hitTest 测试一个点或者MC是否同另一个交叉(即冲突检测)

- int 把十进制数值强制转换成整数

- isFinite 测试数值是否为有限数

- isNaN 测试是否为非数值

- keycode 返回键盘按下键的键盘值(ASCII值)

- localToGlobal MC中的坐标转换成场景(Scene)中的坐标

- maxscroll 文本框的最大行度

- newline 换行符

- Number 将参数转换成数值其返回值有以下四种情况:

如果 x 为一数字,则返回值即为该数字;如果 x 为一布尔数,则返回0或1;如果 x 为一字符串,则函数将x解释为一个指数形式的十进制数;如果x未定义,则返回0。

- parseFloat 将字符串转换成浮点数

- parseInt 将字符串转换成整数

- random 产生0到指定数间的随机数

- scroll 文本框中的起始滚动行

- String 将参数转换成字符串

- targetPath 返回指定实例MC的路径字符串

- true 布尔是值(1)

- unescape 保留字符串中的%XX格式的十六进制字符

+ String Functions 字符串函数

- chr 将ASCII码转换成相应字符

- length 返回字符串的长度

- mbchr 将ASCII/S-JIS编码转换成相应的多字节字符

- mblength 返回多字节字符串的长度

- mbord 将多字节字符转换成相应的ASCII/S-JIS编码

- mbsubstring 截取多字节字符串中的字串

- ord 将字符转换成ASCII码

- substring 截取字符串中的子串

+ Properties 属性

- _alpha Alpha值(透明度值)

- _currentframe 在MC中的当前帧数

- _droptarget 当使用Start drag拖动一个MC时,实时地返回该MC的绝对路径

- _focusrect 高亮按钮或者某个当前区域的显示与否(True显示/Flase不显示)

- _framesloaded 已载入的影帧数

- _height MC的高度

- _highquality 画质的高低(True高画质/False低画质)

- _name MC的实例名

- _quality 当前画质(字符串值) LOW,MEDIUM,HIGH,BEST

- _rotation MC旋转的角度(单位:度)

- _soundbuftime 声音的缓冲区大小(默认值5,单位:秒)

- _target MC的路径

- _totalframes 总帧数

- _url 电影被调用的URL地址

- _visible 是否可视(True可视/False不可视)

- _width MC的宽度

- _x MC的x坐标

- _xmouse 鼠标的x坐标

- _xscale MC的X轴向缩放度

- _y MC的y坐标

- _ymouse 鼠标的y坐标

- _yscale MC的y轴向缩放度

+ Objects 对象

+ Array 数组

- concat 合并多个数组

- join 将一个数组中的元素转化成字符串,并通过特定的分割符进行联结,并返回结果字符串

- length 返回数组长度

- new Array 新建数组对象

- pop 出栈 (FILO 先入后出)

- push 入栈 (入队列)

- reverse 反相(颠倒数组,及第一个元素和最后一个元素互换……)

- shift 出队列 (FIFO 先入先出)

- slice 截取数组中的子串生成新的数组

- sort 数组元素的排序

- splice 从数组中指定元素起删除指定个数的元素或者删除指定元素

- unshift 从数组头部插入一个元素

+ Boolean 布尔对象

- new Boolean 新建布尔型对象

- toString 将布尔型对象的值转换成字符串值

- valueOf 获取布尔型对象的值(返回值为布尔型)

+ Color 颜色对象

- getRGB 获取颜色值的RGB分量(返回值0xRRGGBB十六进制)

- getTransform 获取颜色值的转换量(返回值 cxform 型) [不太清楚]

- new Color 新建一颜色对象

- setRGB 设置颜色值的RGB分量(参数为0xRRGGBB十六进制)

- setTransform 设置颜色值的转换量(参数为 cxform 型) [不太清楚]

+ Date 时间和日期对象

- getDate 获取当前日期(本月的几号)

- getDay 获取今天是星期几(0-Sunday,1-Monday...)

- getFullYear 获取当前年份(四位数字)

- getHours 获取当前小时数(24小时制,0-23)

- getMilliseconds 获取当前毫秒数

- getMinutes 获取当前分钟数

- getMonth 获取当前月份(注意从0开始:0-Jan,1-Feb...)

- getSeconds 获取当前秒数

- getTime 获取UTC格式的从1970.1.1 0:00以来的秒数

- getTimezoneOffset 获取当前时间和UTC格式的偏移值(以分钟为单位)

- getUTCDate 获取UTC格式的当前日期(本月的几号)

- getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday...)

- getUTCFullYear 获取UTC格式的当前年份(四位数字)

- getUTCHours 获取UTC格式的当前小时数(24小时制,0-23)

- getUTCMilliseconds 获取UTC格式的当前毫秒数

- getUTCMinutes 获取UTC格式的当前分钟数

- getUTCMonth 获取UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)

- getUTCSeconds 获取UTC格式的当前秒数

- getYear 获取当前缩写年份(当前年份减去1900)

- new Date 新建日期时间对象

- setDate 设置当前日期(本月的几号)

- setFullYear 设置当前年份(四位数字)

- setHours 设置当前小时数(24小时制,0-23)

- setMilliseconds 设置当前毫秒数

- setMinutes 设置当前分钟数

- setMonth 设置当前月份(注意从0开始:0-Jan,1-Feb...)

- setSeconds 设置当前秒数

- setTime 设置UTC格式的从1970.1.1 0:00以来的秒数

- setUTCDate 设置UTC格式的当前日期(本月的几号)

- setUTCFullYear 设置UTC格式的当前年份(四位数字)

- setUTCHours 设置UTC格式的当前小时数(24小时制,0-23)

- setUTCMilliseconds 设置UTC格式的当前毫秒数

- setUTCMinutes 设置UTC格式的当前分钟数

- setUTCMonth 设置UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)

- setUTCSeconds 设置UTC格式的当前秒数

- setYear 设置当前缩写年份(当前年份减去1900)

- toString 将日期时间值转换成"日期/时间"形式的字符串值

- UTC 返回指定的UTC格式日期时间的固定时间值

+ Key 键盘对象

- BACKSPACE Backspace(<-)键

- CAPSLOCK CapsLock键

- CONTROL Ctrl键

- DELETEKEY Delete(Del)键

- DOWN 方向下键

- END End键

- ENTER Enter(回车)键

- ESCAPE Esc键

- getAscii 获取最后一个按下或松开的键的对应字符的Ascii码

- getCode 获取最后一个被按下的键的键盘扫描码

- HOME Home键

- INSERT Insert(Ins)键

- isDown 当指定键被按下时返回True值

- isToggled 当Caps lock或者Num Lock键被锁定时返回真(True)

- LEFT 方向左键

- PGDN PageDown(PGDN)键

- PGUP PageUp(PGUP)键

- RIGHT 方向右键

- SHIFT Shift键

- SPACE 空格键

- TAB Tab键

- UP 方向上键

+ Math 数学函数对象

- abs abs(n) 取n的绝对值

- acos acos(n) n的反余弦(返回值单位:弧度)

- asin asin(n) n的反正弦(返回值单位:弧度)

- atan atan(n) n的反正切(返回值单位:弧度)

- atan2 atan2(x,y) 计算x/y的反正切

- ceil ceil(n) 取靠近n的上限的整数(向上取整)

- cos cos(n) 取n的余弦(n的单位:弧度)

- E Euler(欧拉)指数(约为2.718)

- exp 指数

- floor floor(n) 取靠近n的下限的整数(向下取整)

- LN10 ln10(约等于2.302)

- LN2 ln2(约等于0.693)

- log 取自然对数(e为底)

- LOG10E 10为底取E的对数(约等于0.434)

- LOG2E 2为底取E的对数(约等于1.443)

- max 返回两参数中的最大值

- min 返回两参数中的最小值

- PI 圆周率(约等于3.14159)

- pow pow(x,y) x的y次方

- random 产生0-1间的随机数

- round 四舍五入取整

- sin sin(n) 取n的正弦(n的单位:弧度)

- sqrt 开根号

- SQRT1_2 0.5开根号(约等于0.707)

- SQRT2 2开根号(约等于1.414)

- tan tan(n) 取n的正切(n的单位:弧度)

+ MovieClip 影片夹子对象

- attachMovie 产生一个库中MC的实体并将它绑定到某个电影上

- dupicateMovieClip 复制当前MC产生新的MC

- getURL 使浏览器浏览指定页面

- gotoAndPlay 跳转到指定帧并播放

- gotoAndStop 跳转到指定帧并停止播放

- loadMovie 引入一个外部电影到指定层

- loadVariables 引入外部文件中的变量值

- nextFrame 下一帧

- play 播放

- prevFrame 前一帧

- removeMovieClip 删除用duplicateMovieClip创建的MC

- startDrag 开始拖动MC

- stop 停止MC的播放

- stopDrag 停止拖动MC

- unloadMovie 卸载由loadMovie引入的Movie

+ Mouse 鼠标对象

- hide 隐藏鼠标指针

- show 显示鼠标指针

+ Number 数值对象

- MAX_value FLASH5 所允许的最大数值1.79769313486231 e 308

- MIN_value FLASH5 所允许的最小数值5 e -324

- NaN 是否为非数值(Not a Number)

- NEGATIVE_INFINITY 是否为负数

- new Number 新建数值对象

- POSITIVE_INFINITY 是否为正数

- toString 将数值转换成字符串

+ Object 对象

- new Object 新建对象

- toString 转换对象为字符串

- valueOf 返回对象的值

+ Selection 选择区对象

- getBeginIndex 获取可编辑文本区的起始位置,-1表示无可编辑文本区

- getCaretIndex 获取当前的编辑位置,-1表示没有可编辑文本区

- getEndIndex 获取可编辑文本区的结束位置,-1表示无可编辑文本区

- getFocus 获取当前的激活文本区的文本变量名

- setFocus 设置当前的激活文本区

- setSelection 设置可编辑文本的起始位置和终止位置

+ Sound 声音对象

- attachSound 绑定库中的一个声音

- getPan 获取声音的混音值 [不太清楚]

- getTransform 获取当前声音的变换量(返回值类型:sxform) [不太清楚]

- getVolume 获取当前声音的音量(百分比)

- new Sound 新建声音对象

- setPan 设置声音的混音值 [不太清楚]

- setTransform 设置当前声音的变换量(参数类型:sxform) [不太清楚]

- setVloume 设置当前声音的音量(百分比)

- start 开始播放当前声音

- stop 停止播放当前声音

+ String 字符串对象

- charAt 在指定的索引表中返回一个字符

- charCodeAt 在指定的索引表中返回一个字符的代码

- concat 联结合并多个字符串

- fromCharCode 从字符代码组构造出一个新的字符串

- indexOf 在字符串中寻找子串,返回子串起始位置或-1(-1表示未找到)

- lastIndexOf 在字符串中寻找子串,返回子串终止位置或-1(-1表示未找到)

- length 返回字符串的长度

- new String 新建字符串对象

- slice 返回字符串中指定截取的子串

- split 根据限定符将字符串转换成一个数组

- substr substr( start, length ) 返回从start开始,共length长的子串

- substring substring( indexA, indexB ) 返回indexA..indexB之间的子串

- toLowerCase 将字符串中的大写字符全部转换成小写

- toUpperCase 将字符串中的小写字符全部转换成大写

+ XML 可扩充性标记语言对象

- appendChild 添加一个子结点到指定的XML元素

- attributes XML元素的属性数组

- childNodes 一个XML元素的子结点数组

- cloneNode 克隆(复制)当前结点

- createElement 新建一个新的XML元素

- createTextNode 新建一个新的XML文本结点

- firstChild 返回当前XML结点的第一个子结点

- hasChildNodes 当前XML结点是否有子结点(返回true有子结点/flash则无)

- insertBefore 在一个指定的XML元素的子结点前插入一个新的子结点

- lastChild 返回当前XML结点的最后一个子结点

- load 从指定的URL把XML元素引入FLASH中

- loaded 当XML元素引入或是发送同时引入FLASH中后,返回true值

- new XML 新建一个XML对象

- nextSibling 当前XML结点的下一个结点

- nodeName 返回当前XML结点的名字

- nodeType 返回当前XML结点的类型(1-元素,3-文本)

- nodevalue 返回当前XML结点的值(text型返回文本)

- onLoad 当引入或发送同时引入时触发事件

- parentNode 返回当前XML结点的父结点

- parseXML 将XML字符串转换成XML对象

- previousSibling 当前XML结点的前一个结点

- removeNode 从XML文本中删除结点

- send 从FLASH中把一个XML元素发送到指定的URL地址

- sendAndLoad 从FLASH中把一个XML元素发送到指定的URL地址同时引入XML结果

- toString 把XML对象转换为XML字符串表达

+ XMLSocket XML套接口

- close 关闭一个XML套接口

- connect 连接一个XML套接口,指定URL,并定义其端口号

- new XMLSocket 建立一个新的XML套接口

- onClose 关闭XML套接口时触发事件

- onConnect 连接XML套接口时触发事件

- onXML 从服务器上获取XML时触发事件

- send 发送XML给服务器

okok云
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!

1、跳转帧(按纽动作,释放跳转)

on (release) {

gotoAndPlay(1);

}

2、屏幕控制

fscommand ("fullscreen", "true/false");(全屏设置,true开,false关)

fscommand ("showmenu", "true/false");(右键菜单设置,true显示,false不显示)

fscommand ("allowscale", "true/false");(缩放设置,true自由缩放,false调整画面不影响影片本身的尺寸)

fscommand ("trapallkeys", "true/false");(快捷键设置,true快捷键开,false快捷键关)

fscommand ("exec");(exe程序调用)

fscommand ("quit");(退出关闭窗口)

3、如何调用外部SWF文件

新建一层,在需要调入的帧上加入以下帧动作:

loadmovienum ("path/moviefile.swf", 0);

其“path/moviefile.swf”为要调入文件的地址,“0”为层号,“0”为第0层;

如调入动画kk.swf即为加入在相应帧上面加入动作:loadmovienum("kk.swf",0)

4、如何通过按钮给别人发e-mail.

get url:mailto:flash8@f****.net

大鱼炖火锅
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
太多了,不知道你要哪个类别的,不妨自己去看看有何需要吧,
http://www.f*********.com/school/ 很多教程的,友人推荐给我用的,希望对你也有用!
tt白

我寒,能不能详细补充一下问题?不知道你在问什么。。

相关推荐

普通树变二叉树如何变?

转换如下: A / X X B- C- D | E / X F - G A / B C / E D / F G将树转换为二叉树  树中每个结点最多只有一个最左边的孩子(长子)和一个右邻的兄弟。按照这种关系很自然地就能将树转换成相应的二叉树:①在所有兄弟结点之间加一连线;②对每个结点,除了保留与其长子的连线外,去掉该结点与其它孩子的连线。 ③调整数的形状为正常二叉树即可
2023-07-26 12:50:293

js 中怎么获取某个标签后面的标签

用原生js的话可以用nextSibling,不过需要判断获取到的节点是不是标签元素,因为有可能你获取到的实际是2个标签之间的空格。例如:<span id="sp_1"></span><span id="sp_2"></span>用var span1=document.getElementById("sp_1");获取到第一个标签后,再var span2=span1.nextSibling;while(span2.nodeType != 1){ span2=span2.nextSibling;}这样循环知道找到nodeType为1的节点(即是下个标签)。
2023-07-26 12:50:461

javascript如何在div的后面添加一个其他的元素

vardoc=document.createElement("p");//创建P元素varstr=document.createTextNode("HelloWord");//创建文本节点doc.appendChild(str);//将文本节点加入P中varobjdiv=document.getElementById("nv");objdiv.appendChild(doc);//再将元素加到指定DIV中!你测试一下就行了!
2023-07-26 12:50:552

编写计算树中每一个结点的度,树用孩子-兄弟表示的二叉链表存储

int LeafCount_CSTree(CSTree T)//求孩子兄弟链表表示的树T的叶子数目{ if(!T->firstchild) return 1; //叶子结点 else { count=0; for(child=T->firstchild;child;child=child->nextsibling) count+=LeafCount_CSTree(child); return count; //各子树的叶子数之和 }}//LeafCount_CSTree
2023-07-26 12:51:052

数据结构 设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,

.........A..../.....|........B.....C.....D...|.......|.......|...E......F......G,虚线是定位用的,看实线。
2023-07-26 12:51:154

怎么样通过js DOM获取一个节点的文本内容?

p1是btn按钮,p2的节点是文本类型的,肯定是不一样的文本节点类型。至于为什么,看看用下所有元素的父节点,然后 .childNodes 比如 把上面的HTML元素全部放入一个ID为parentID的div元素中使用for (var i = 0; i< document.getElementById("parentID").childNodes.length; i++) { //遍历该元素下所有子元素 p = document.getElementById("parentID").childNodes[i]; }
2023-07-26 12:51:472

求asp弹出浮动小窗口代码

不用多说了,看效果吧。。 专门为你放的哦,追点分 http://esxa.cn/eg/ 你可以先下载这个文件 http://esxa.cn/eg/ad.js 然后放在你要显示公告的页面相同目录,并写上<script language="JavaScript" type="text/javascript" src="ad.js"></script> 一切OK。。
2023-07-26 12:51:582

HTML网页表格可以上移一行下移一行的效果代码怎么写

function up(elem){elem.parentNode.insertBefore(elem,elem.previous());}function down(elem){elem.parentNode.insertBefore(elem,elem.next());}Node.prototype.previous=function(){var node=this.previousSibling;while(node.nodeType!=1&& node.previousSibling)node=node.previousSibling;return node;};Node.prototype.next=function(){var node=this.nextSibling;while(node.nodeType!=1&& node.nextSibling)node=node.nextSibling;return node;};
2023-07-26 12:52:181

js如何在指定id的div后面(注意是后面,不是里面啊!)插入一个新的div

jquery里用A.insertAfter(B)是把A插到B后面
2023-07-26 12:52:295

div里面怎么用iframe

<div class="xxx" ><iframe name="20" src="xxxxx.html" width="526" height="260" marginheight="0" marginwidth="0" scrolling="no" frameborder="no" align="middle"></iframe></div
2023-07-26 12:52:463

用css 如何控制英文网站中分类顺序是按照英文26字母顺序排序的

CSS没有办法的, 用JS,还是直接用开发语言做吧
2023-07-26 12:52:572

js 怎么在标签对里面的最前面插入元素

targetElement.parentNode.insertBefore( newElement, targetElement ) 让目标元素的父母元素调用 insertBefore() 方法, 将新元素插入到目标元素之前 。另外,在JavaScript中并没有 insertAfter() 方法(即插入目标函数之前),但可以自定义实现:function insertAfter(newElem,targetElem){ var parent = targetElem.parentNode; if (parent.lastChild === targetElem) { parent.appendChild( newElem ) ; } else { var nextElem = targetElem.nextSibling; parent.insertBefore(newElem,nextElem); }}其中 targetElement.parentNode为目标函数的父母元素;targetElem.nextSibling 为相对于目标函数的下一个元素节点。
2023-07-26 12:53:071

判断字符是否相等?

java 判断字符串相等的问题 你的s_warn赋值是"abc"吧?"abc" 属于字符串常量,它是存放在数据段里面的,如果还有个 s_warn1="abc",JAVA不会再在数据段里面再分配一个地址来存放“abc”,而是同样使用和s_warn一样的内存地址的“abc”,那么 s_warn1和s_warn就是的指向同一个内存地址拉,"abc" 不是没有地址,而是存的地方比较特殊罢啦。s_warn=="abc"当然是 true。 c语言中如何判断两个字符串相等 #include char s1[10],s2[10];... if(strcmp(s1,s2)==0) printf("两字符串相等 "); string.h 头文件中就有比较函数,可以用来比较是否相等 判断一个字符是否相等,该如何表达 一个字符相等?一个字符怎么相等? 你是指两个字符是不是相等吗? 判断字符串的话 s1.strcmp(s2)返回0则相等 如果是字符直接用==判断 java中如何判断输入的字符串是否与一个固定字符串相等 一般新手可能出现对比两个字符串的错误: 1,比较两个字符串内容的话,用a.equals(b)比较,其中a,b是两个字符串,用a==b的话比较的是a和b的内存地址。 2,如果一个字符串是变量,另一个字符串是常量的话,一定要把常量写在前面,变量写在后面(即括号内),这样写的原因只有一个,避免报空指针异常。如:a是常量字符串,b是变量字符串,则一定要写成a.equals(b).不能写成b.equals(a),否则如果b为null的话,绝对报空指针异常。 新手都需要注意这两点啊。 希望能够帮到你 祝你好运 java 判断字符串是否相等 java中判断字符串是否相等有两种方法:1、用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",那么a==b将返回true。这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象;再比如:String a=new String("abc"); String b=new String("abc");那么a==b将返回false,因为a和b指向不同的对象。2、用equals方法,该方法比较的是字符串的内容是否相同,比如:String a=new String("abc"); String b=new String("abc"); a.equals(b);将返回true。所以通常情况下,为了避免出现上述问题,判断字符串是否相等使用equals方法。 js判断字符串是否相等 一般使用双等来判断(==),如果还需要类型相同那么就用三等(===)。 说一下这两个的区别: == equality 等同,=== identity 恒等。 ==, 两边值类型不同的时候,要先进行类型转换,再比较。 ==,不做类型转换,类型不同的一定不等。 下面分别说明: 先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等: 1、如果类型不同,就[不相等] 2、如果两个都是数值,并且是同一个值,那么[相等]。 3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。 4、如果两个值都是true,或者都是false,那么[相等]。 5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。 6、如果两个值都是null,或者都是undefined,那么[相等]。 再说 ==,根据以下规则: 1、如果两个值类型相同,进行 === 比较。 2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较: a、如果一个是null、一个是undefined,那么[相等]。 b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。 c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。 d、任何其他组合,都[不相等]。 C++中判断两个字符串是否相等,怎么判断 string类型直接用==就能判断。char *用strcmp,如果结果是0表示相等。 在js中怎么判断两个字符串相等 js判断两字符串相等的确用双等号“==”。 至于你程序的问题建议你在前台debug调试一下,也可以通过alert()打印出来。同时注意浏览器的不同,比如nextSibling在ie和firefox里面可能不同
2023-07-26 12:53:351

给我一段html代码,点击文字后跳出一个层

<html><head><title>网页特效 隐藏层的打开关闭 酷爱电脑教学网</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head> <body bgcolor=#FFFFFF ><!--------------------------------><script language=javascript>ie4=(document.all)?true:false;ns4=(document.layers)?true:false; function toExit(){var args=toExit.arguments;var visible=args[0];if(ns4){theObj=eval("document.layers[""+args[1]+""]");if(theObj)theObj.visibility=visible;}else if(ie4){if(visible=="show")visible="visible";if(visible=="hide")visible="hidden";theObj=eval("document.all[""+args[1]+""]");if(theObj)theObj.style.visibility=visible;}} </script><div id=boysoft style="border-color:red;HEIGHT: 80px;WIDTH:200px; LEFT: 200px; POSITION: absolute; TOP: 150px; VISIBILITY: hidden; WIDTH: 180px; Z-INDEX: 1;"><table border=1 style="background-color:red;"><tr width=200><td width=200><form method=post action="?do=login" target="_main">用户名:<input type=text name=username size=20><br>密码:<input type=password name=pwd size=20><br><input type=submit value="登录"><input type=button onclick=window.location.href="zhuce.asp" value="注册"></form></td></tr></table></div><%if request("do")="login" then username=request("username") pwd=request("pwd")response.cookies("username")=usernameresponse.write "欢迎您" & request.cookies("username")else%><a href="javascript:toExit("show","boysoft")"><font color="#0000FF">登录</font></a><%end if%></body></html>我自己写的,没测试,你看下
2023-07-26 12:53:463

java XML解析详解

(I)Java通过DOM解析XML1>得到DOM解析器的工厂实例  DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();  得到javax.xml.parsers.DocumentBuilderFactory;类的实例就是我们要的解析器工厂  2>从DOM工厂获得DOM解析器  DocumentBuilder dombuilder=domfac.newDocumentBuilder();  通过javax.xml.parsers.DocumentBuilderFactory实例的静态方法newDocumentBuilder()得到DOM解析器  3>把要解析的XML文档转化为输入流,以便DOM解析器解析它  InputStream is=new FileInputStream("bin/library.xml");  InputStream是一个接口。4>解析XML文档的输入流,得到一个Document  Document doc=dombuilder.parse(is);  由XML文档的输入流得到一个org.w3c.dom.Document对象,以后的处理都是对Document对象进行的  5>得到XML文档的根节点  Element root=doc.getDocumentElement();  在DOM中只有根节点是一个org.w3c.dom.Element对象。  6>得到节点的子节点  NodeList books=root.getChildNodes();  for(int i=0;i<books.getLength();i++){ Node book=books.item(i);  }   这是用一个org.w3c.dom.NodeList接口来存放它所有子节点的,还有一种轮循子节点的方法,后面有介绍  7>取得节点的属性值  String email=book.getAttributes().getNamedItem("email").getNodeValue();  System.out.println(email);  注意,节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE  8>轮循子节点  for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()){      if(node.getNodeType()==Node.ELEMENT_NODE){       if(node.getNodeName().equals("name")){       String name=node.getNodeValue();        String name1=node.getFirstChild().getNodeValue();       ...        if(node.getNodeName().equals("price")){        String price=node.getFirstChild().getNodeValue();...Java通过SAX解析XML Simple API for XML(简称SAX)是个循序存取XML的解析器API。 一个实现SAX的解析器(也就是“SAX Parser”)以一个串流解析器的型式作用,拥有事件驱动API。由使用者定义回调函数,解析时,若发生事件的话会被调用。SAX事件包括:XML 文字 节点XML 元素 节点XML 处理指令XML 注释Java代码 <person> <user> <username>谢成志</username> <password>6626310xie</password> <sex>男</sex> <birthday>1988/11/28</birthday> <headpic> <pictitle>ermao</pictitle> <picurl>images/head1.jpg</picurl> </headpic> </user> </person> 此为下面即将解析度简单xml结构,并将其封装成一个User对象。////////////////////////////////////////////////////////////////////////////////////Java代码 <span style="font-family: courier new,courier; font-size: small;">package com.xcz.xml; import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import com.xcz.util.SaxUtil; public class Sax4XML { public static void main(String[] args) { try { //1.获取factory SAXParserFactory factory = SAXParserFactory.newInstance(); //2.获取parser SAXParser parser = factory.newSAXParser(); //3.获取解析时的监听器对象 SaxUtil su = new SaxUtil(); //4.开始解析 parser.parse(new File("src/user-params.xml"), su); System.out.println(su.getUser()); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } </span> ////////////////////////////////////////////////////////////////////////////////////Java代码 <span style="font-family: courier new,courier; font-size: small;">package com.xcz.util; import java.text.ParseException; import java.text.SimpleDateFormat; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import com.xcz.po.HeadPic; import com.xcz.po.User; /** * 定义xml解析时的监听类 * * 实现方式有很多,可以实现接口:ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler * 但我们常用的继承:DefaultHandler */ public class SaxUtil extends DefaultHandler { private User user; private HeadPic headPic; private String content; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); @Override public void characters(char[] ch, int start, int length) throws SAXException { content = new String(ch, start, length); } //当解析到文本开始时触发 @Override public void startDocument() throws SAXException { super.startDocument(); } //当解析到文本结束时触发 @Override public void endDocument() throws SAXException { super.endDocument(); } //当解析到元素开始时触发 @Override public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { if("user".equals(name)) { user = new User(); } if("headpic".equals(name)) { headPic = new HeadPic(); } } //当解析到元素结束时触发 @Override public void endElement(String uri, String localName, String name) throws SAXException { if("username".equals(name)) { user.setUsername(content); } if("password".equals(name)) { user.setPassword(content); } if("sex".equals(name)) { user.setSex(content); } if("birthday".equals(name)) { try { user.setBirthday(sdf.parse(content)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if("pictitle".equals(name)) { headPic.setPicTitle(content); } if("picurl".equals(name)) { headPic.setPicUrl(content); user.setHeadPic(headPic); } } public User getUser(){ return user; } }</span> [优点] (1).节约内存开销 SAX解析器在某些方面优于DOM风格解析器,因为SAX解析器的内存使用量一般远低于DOM解析器使用量。DOM解析器在任何处理开始之前,必须将xml以整棵树放在内存,所以DOM解析器的内存使用量完全根据输入资料的大小。相对来说,SAX解析器的内存内容,是只基于XML档案的最大深度(XML树的最大深度)和单一XML项目上XML属性储存的最大资料。 (2)解析速度快 因为SAX事件驱动的本质,处理文件通常会比DOM风格的解析器快。 [缺点] SAX事件驱动的模型对于XML解析很有用,但它确实有某些缺点。 某些种类的XML验证需要存取整份文件。例如,一个DTD IDREF属性需要文件内有项目使用指定字串当成DTD ID属性。要在SAX解析器内验证,必须追踪每个之前遇过的ID和IDREF属性,检查是否有任何相符。更甚者,一个IDREF找不到对应的ID,使用者只会在整份文件都解析完后才发现,若这种连结对于建立有效输出是重要的,那用在处理整份文件的时间只是浪费。
2023-07-26 12:53:531

javascript 改变数组的长度

因为myar1数组声明时未赋值。而你对input 绑定onclick事件。必须触发onclick事件才能将myar1赋值为["1","2","3"];不然,myar1就是个空数组。当你在输入框输入数字时,获取的值肯定是undefined。
2023-07-26 12:54:021

asp.net标签里的值js怎么获取

js获取em标签的值:比如有:<em class="title">Pacific Rim</em>js代码:var ems = document.querySelectorAll("em.title");for (var i = 0; i < ems.length; ++i) { if (ems[i].querySelector("a") === null) { var em = ems[i], text = jQuery(em).text(); var before = text[0] == " "; var after = text[text.length-1] == " "; text = text.trim(); while (em.nextSibling && em.nextSibling.className && em.nextSibling.className.indexOf("title") != -1) { var tmp = em; em = em.nextSibling; tmp.parentNode.removeChild(tmp); text += jQuery(em).text().trim(); ++i; } var link = text.replace(/[^a-z -d"]+/gi, "").replace(/s+/g, "+"); var innerHTML = "<a target="_blank" href="http://domain.com/?=" + link + "">" + text + "</a>"; innerHTML = before ? " " + innerHTML: innerHTML; innerHTML = after ? innerHTML + " " : innerHTML; ems[i].innerHTML = innerHTML; }}
2023-07-26 12:54:092

计算孩子兄弟表示法表示的二叉树的高度

如下#define MAX(a,b) ( a > b ? a : b )typedef struct BitNode{BitNode *left;BitNode *right;Element data;}BitNode, *pBitTree;int getBitTreeDeep( pBitTree root ){if( !root )return 0;return ( MAX( getBitTreeDeep( root->left ) , getBitTreeDeep( root->right ) ) + 1 );}
2023-07-26 12:54:211

js 文字和标签同级时,如何只改变文字内容

nextSibling 属性可返回某个元素之后紧跟的元素(处于同一树层级中)。   如果无此节点,则属性返回 null。   与其相反的是previousSibling   语法:nodeObject.nextSibling<div id="div1" onclick="onclk(this)"> </div><div class="d1"> </div><div id="div1" onclick="onclk(this)"> </div><div class="d2"> </div><script>function onclk(nowEle){ var nextEle = nowEle.nextSibling; alert(nextEle.className);}
2023-07-26 12:54:291

js如何获取ModalAndView中的对象

<div id="mydiv"><span>abc</span></div><div id="mydiv2"><span><a>abc</a></span></div><TABLE><TR><TD>aaa</TD><TD>bbb</TD></TR><TR><TD>ccc</TD><TD>ddd</TD></TR></TABLE><SCRIPT LANGUAGE="JavaScript"><!--// 通过id获取div元素var div = document.getElementById("mydiv");// 获取div下的span元素var span = div.firstChild;// 获取span元素中的文本var text = span.innerText;//alert(text);// 获取div下的htmlvar html = div.innerHTML;//alert(html);// 处理div2// 获取mydiv2>span>a>下的文本var div2 = document.getElementById("mydiv2");// 得到mydvi2>span>a元素var a = div2.firstChild.firstChild;text = a.innerText;//alert(text);// 处理表格// 通过标签名获取table元素var table = document.getElementsByTagName("table")[0];// 下面获取bbb// firstChild:就是第一个子元素,table.firstChild.firstChild.firstChild就是第一个TR下的第一个TD。// nextSibling:就是下一个兄弟节点,兄弟节点就是处在同一级上的节点,比如aaa,bbb这2个所在的节点是同一级,所以他们是兄弟节点。// table.firstChild.firstChild.firstChild:得到第一个TR下的第一个TD。// table.firstChild.firstChild.firstChild.nextSibling:就是第一个TR下的第一个TD的兄弟节点,就是bbb所在的标签。// 然后用innerText取出元素的文本值。要取出子标签的html,则用innerHTML// 如果得到了第一个TR下的第2个TD,怎么得到第一个TD呢?可以用previousSibling(上一个兄弟节点)// 如果得到了第一个TR下的第2个TD,怎么得到它的父元素TR呢?用parent(父节点)// ps:当然,这个你可以用table.rows[0].cells[1]来获取bbb的内容。这个是针对table的。// 但是上面的针对所有的dom元素都有效。text = table.firstChild.firstChild.firstChild.nextSibling.innerText;//alert(text);alert(text);//--></SCRIPT>
2023-07-26 12:54:381

线索二叉树的插入和删除

***** *****我这有个线索二叉树的例子: ***** *****首先需要定义线索二叉树,定义如下: //线索二叉树结点类型存储结构体TBSTree2.h template<class T> class TBSTree; template<class T> class ITBSTree; template<class T> struct THNode {public: int lflag,rflag;//标志域 THNode<T> *left;//第一个孩子结点指针域 THNode<T> *right;//下一个兄弟结点指针域 T data;//数据域 friend class TBSTree<T>;//线索二叉树类为友元 friend class ITBSTree<T>;//派生类 //构造函数 THNode():left(NULL),right(NULL),lflag(0),rflag(0){ } THNode(int la,int ra,T value,THNode<T> *fc=NULL, THNode<T> *ns=NULL):data(value),left(fc), right(ns){lflag=la;rflag=ra;} //访问指针域的成员函数 THNode<T>* &FirstChild() {return left;} THNode<T>* &NextSibling() {return right;} }; //线索二叉树类 template<class T> class TBSTree {protected: THNode<T> *root;//根结点指针 THNode<T> *curr;//当前结点指针 int nextC; int priorC; public: //构造函数与析构函数 TBSTree(){root=curr=NULL;} TBSTree(THNode<T> *&tree) {root=tree; curr=root; if(tree==NULL) {nextC=1;priorC=1;} else {nextC=0;priorC=0;} } //纯虚函数 virtual void First()=0; virtual void Last()=0; //数据检索与修改成员函数 T &Data(); }; //线索二叉树类的实现 template<class T> T &TBSTree<T>::Data() {if(root==NULL) {cout<<"二叉树空! ";exit(1);} return curr->data; } //由结点构造线索二叉树的类外一般函数 template<class T> THNode<T> *GetTreeNode(T item,THNode<T> *le=NULL, THNode<T> *ri=NULL,int lf=0,int rf=0) {THNode<T> *p=new THNode<T>; p->data=item;p->left=le;p->right=ri; p->lflag=lf;p->rflag=rf; if(p==NULL) {cerr<<"内存分配失败! ";exit(1);} return p; } //创建特定线索二叉树的类外一般函数 template<class T> THNode<T> *MakeCharT(THNode<T> *&root,int num) {THNode<T> *b,*c,*d,*e,*f,*g,*null=NULL; if(num==1) {e=GetTreeNode("R"); f=GetTreeNode("W"); d=GetTreeNode("P",e,f); g=GetTreeNode("Q"); b=GetTreeNode("N",d,g); c=GetTreeNode("O"); root=GetTreeNode("M",b,c); } else { g=GetTreeNode("G"); d=GetTreeNode("D",null,g); b=GetTreeNode("B",d); e=GetTreeNode("E"); f=GetTreeNode("F"); c=GetTreeNode("C",e,f); root=GetTreeNode("A",b,c); } return root; } ***** *****接着是测试程序,代码如下: //线索二叉树类相关操作的测试TBSTree2M.cpp #include<iostream.h> #include<iomanip.h> #include<stdlib.h> #include<conio.h> #include "TBSTree2.h" #include "ITBSTree2.h" void main() {cout<<"TBSTree2M.cpp运行结果: "; THNode<char> *q,*p; q=MakeCharT(q,2); ITBSTree<char> t(q); t.CreatInThread(); cout<<"二叉树的中序正向遍历序列为: "; t.First(); cout<<" 二叉树的中序反向遍历序列为: "; t.Last(); p=MakeCharT(p,1); ITBSTree<char> d(p); d.CreatInThread(); cout<<" 二叉树的中序正向遍历序列为: "; d.First(); cout<<" 二叉树的中序反向遍历序列为: "; d.Last(); cin.get(); } ***** *****以下是程序运行结果,自己试试吧,先跑起来,然后慢慢看懂它: TBSTree2M.cpp运行结果: 二叉树的中序正向遍历序列为: D G B A E C F 二叉树的中序反向遍历序列为: F C E A B G D 二叉树的中序正向遍历序列为: R P W N Q M O 二叉树的中序反向遍历咦?悬赏分没有吗?
2023-07-26 12:54:571

Javascript中DOM运行时的一个问题???

<!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"> <head> <title>DOM adding</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <script type = "text/javascript"> <!-- function makeNode(str){ var newParagraph = document.createElement("p"); var newText = document.createTextNode(str); newParagraph.appendChild(newText); return newParagraph; } function appendBefore(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); if(node.parentNode) node.parentNode.insertBefore(newNode,node); } function insertWidthin(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); node.appendChild(newNode); } function appendAfter(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); //if(){ if(node.nextSibling) { node.parentNode.insertBefore(newNode,node.nextSibling); } else { node.parentNode.appendChild(newNode); } } //--> </script> </head> <body> <h1>DOM Insert and Append</h1> <!--script> alert("body Ok!!"); </script--> <hr> <div style ="background-color:#66ff00"> <div id="innerDiv" style="background-color:#ffcc00;"></div> </div> <hr> <form id ="form1" name = "form1" action ="#" method ="get"> <input type ="text" id ="field1" name = "field1"> <input type ="button" value="Before" onclick="appendBefore("innerDiv",document.form1.field1.value);"> <input type ="button" value="Middle" onclick="insertWidthin("innerDiv",document.form1.field1.value);"> <input type ="button" value="After" onclick="appendAfter("innerDiv",document.form1.field1.value);"> </form> </body> </html>
2023-07-26 12:55:042

我这样写在IE可以获取焦点,在chrome和火狐浏览器上获取不到焦点。问题出在哪里?

这是属性兼容问题导致的错误。在IE和FireFox浏览器中,DOM的nextSibling方法的使用存在部分差异:1. 在FireFox中,html标记中空行和换行会被当做节点来处理,所以会出现startNode.nextSibling取不到目标节点的情况,得到的元素反而是undefined或是nodeType为text的节点;2.解决方法是:判断startNode.nextSibling的nodeType类型: if(startNode.nextSibling.nodeType==3){brotherNode=startNode.nextSibling.nextSibling; //如果浏览器是FireFox}else{brotherNode=startNode.nextSibling; //如果浏览器是IE}
2023-07-26 12:55:121

如何在Dreamweaver中添加时间弹出框

Dreamweaver经典技巧 http://webdesign.chinaitlab.com/dwjq/392785.html
2023-07-26 12:55:221

js内置的 for..in属性???

for (eee in a){ document.write(eee+"--"); document.write(a[eee]+"<br>"); } 这种写法代表遍历所有的a属性,eee只是一个供你使用的循环变量而已。
2023-07-26 12:55:322

编写算法,对一棵二叉链表表示的二叉树统计其叶子个数

1)由于二叉树本就是递归结构,所以可以用递归的思想:二叉树叶子个数等于左子树叶子个数+右子树叶子个数,当遇到孩子节点是空指针的时候就返回1,否则返回该子树的叶节点数。具体实现的话,可以将递归的二叉树后续遍历算法的开头添加一句话,即可。2)后续变量二叉树的非递归算法,只需要记录一个count变量即可,即每次遇到叶子节点,就将count累加。主要思想就是,后续变量二叉树。
2023-07-26 12:55:423

制作网页时表格排列的问题

若干表格.......没有实际运行环境...没法说试试excel组件
2023-07-26 12:55:502

struts中jquery如何实现购物车中多个商品数量的增减

现在还没看到图~~~
2023-07-26 12:56:275

怎么样通过js DOM获取一个节点的文本内容?

p1是btn按钮,p2的节点是文本类型的,肯定是不一样的文本节点类型。至于为什么,看看用下所有元素的父节点,然后 .childNodes 比如 把上面的HTML元素全部放入一个ID为parentID的div元素中使用for (var i = 0; i< document.getElementById("parentID").childNodes.length; i++) { //遍历该元素下所有子元素 p = document.getElementById("parentID").childNodes[i]; }
2023-07-26 12:56:542

如何使用javascript自动添加选择题选项前面的abcd

<!-- 写了个这样的--><html><body onload="load()"><div onclick="youcheck()"><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input></div><div id="show"></div><script>var arr = ["A", "B", "C", "D"];function load() {var check = document.getElementsByTagName("input");for (var i = 0; i < check.length; i++) {check[i].value = arr[i];if (check[i].nextSibling.nodeType == 1) {var el = check[i].nextSibling.nextSibling;} else {el = check[i].nextSibling;}el.nodeValue = arr[i];}}function youcheck() {var check = document.getElementsByTagName("input");for (var i = 0; i < check.length; i++) {if (check[i].checked) {document.getElementById("show").innerHTML=check[i].value;}}}</script></body></html>
2023-07-26 12:57:011

C++ 如何读取和创建XML?

我最近使用了一个第三方的XML库,TinyXml,开源代码。下面是我使用XML的代码:#include <string>#include <vector>using namespace std;typedef struct{ string User; string ID; string SN; string Date; int Active;}UserType;int TForm1::CreateLicenseFile(char *FileName, vector<UserType> &User){ char Buf[256]; TiXmlElement* rootElement1; TiXmlElement* rootElement2; TiXmlDocument doc; TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "GB2312", "" ); doc.LinkEndChild(decl); rootElement1 = new TiXmlElement("LicenseManager"); doc.LinkEndChild(rootElement1); for(vector<UserType>::iterator iter=User.begin();iter!=User.end();++iter) { if(iter->Active==0) continue; rootElement2 = new TiXmlElement("License"); rootElement1->LinkEndChild(rootElement2); rootElement2->SetAttribute("User", iter->User.c_str()); rootElement2->SetAttribute("ID", iter->ID.c_str()); rootElement2->SetAttribute("SN", iter->SN.c_str()); rootElement2->SetAttribute("Date", iter->Date.c_str()); } if(!doc.SaveFile(FileName)) return 0; return 1;}int TForm1::LoadLicenseFile(char *FileName, vector<UserType> &User){ TiXmlElement* rootElement1; TiXmlElement* rootElement2; TiXmlDocument doc; User.clear(); if(!doc.LoadFile(FileName)) return 0; rootElement1 = doc.RootElement(); rootElement2=rootElement1->FirstChildElement("License"); while(rootElement2!=NULL) { UserType item; item.User=rootElement2->Attribute("User"); item.ID=rootElement2->Attribute("ID"); item.SN=rootElement2->Attribute("SN"); item.Date=rootElement2->Attribute("Date"); item.Active=1; User.push_back(item); rootElement2=rootElement2->NextSiblingElement(); } return 1;}生成的XML文件的内容:<?xml version="1.0" encoding="GB2312" ?><LicenseManager> <License User="Sun" ID="04b59c3c" SN="ca211bd3ca9dc272f7663ab1f3b3c29b" Date="2012-08-19 14:31:20.343" /> <License User="ShowTime" ID="04b58cdc" SN="1a1a41eb46d8629243a3d7dea43a426a" Date="2012-08-19 14:31:11.031" /> <License User="TEST-PC" ID="04b58c3c" SN="9a28ab35a08b90dd6a7855781eb79335" Date="2012-06-28 09:26:19.759" /> <License User="ISLAND-BEB1AEDD" ID="7854efb8" SN="eedf940638a5db01e971bd50a93b54cf" Date="2012-08-19 14:30:33.968" /></LicenseManager>
2023-07-26 12:57:101

javascript 如何一次删除table的多个tr?

此方法需要在后台删除返回true时调用,把后台已经删除的数据隐藏掉,下次向后台查询时这些数据也不会再次出现!var a = [];//需要删除的行的index$("input[name="del"]:checked").each(function() { // 遍历选中的checkboxn = $(this).parents("tr").index(); // 获取checkbox所在行的顺序a.push(n);});for(var i = 0; i < a.length; i++) {$("#table_id tr").eq(a[i]+1).attr("hidden","hidden");}
2023-07-26 12:57:182

在js中怎么判断两个字符串相等

s中字符串比较值用==不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等var str1="a";var str2="b";var str1="a";if(str1 == str2){}s中字符串比较数据类型和值用======如果类型不同,其结果就是不等var str2="1";var str2="b";var str1="a";if(str1 === str2){}
2023-07-26 12:57:348

我建了一个XML文件,想用变量对它连续赋值,又不能互相掩盖

//程序目录下是否存在user。xml文件,存在则加载,不存在则新建 XmlDocument xmlDoc = new XmlDocument(); if (!File.Exists(Application.StartupPath + "\user.xml")) { //if (!Directory.Exists(Application.StartupPath)) //{ // Directory.CreateDirectory(Application.StartupPath); //} //文件不存在 XmlNode xmlNode = xmlDoc.CreateXmlDeclaration("1.0", "gb2312", null); xmlDoc.AppendChild(xmlNode); XmlElement xmlRoot = xmlDoc.CreateElement("root"); xmlDoc.AppendChild(xmlRoot); XmlElement xmlIP = xmlDoc.CreateElement("ip"); XmlElement xmlUser = xmlDoc.CreateElement("user"); XmlElement xmlID = xmlDoc.CreateElement("id"); XmlElement xmlPwd = xmlDoc.CreateElement("pwd"); XmlElement xmlIv = xmlDoc.CreateElement("xml"); xmlIP.InnerText = tbIPAddress.Text.ToString() + "," + tbPort.Text; xmlID.InnerText = cmbUserName.Text; if (chkMemory.Checked) { xmlPwd.InnerText = Convert.ToBase64String(cipherText); xmlIv.InnerText = Convert.ToBase64String(enc.IV); } xmlUser.AppendChild(xmlID); xmlUser.AppendChild(xmlPwd); xmlUser.AppendChild(xmlIv); xmlRoot.AppendChild(xmlIP); xmlRoot.AppendChild(xmlUser); //添加上一次的登录用户 XmlElement xmlPreName = xmlDoc.CreateElement("previous"); xmlPreName.InnerText = cmbUserName.Text; xmlRoot.AppendChild(xmlPreName); xmlDoc.Save(Application.StartupPath + "\user.xml"); } else { //文件存在 xmlDoc.Load(Application.StartupPath + "\user.xml"); //更新上一次的登录用户 XmlNode xmlPreName = xmlDoc.DocumentElement.SelectSingleNode("previous"); xmlPreName.InnerText = cmbUserName.Text; //更新服务器ip地址 XmlNode ipNode = xmlDoc.DocumentElement.SelectSingleNode("ip"); if (ipNode.Name == "ip" && ipNode.InnerText != tbIPAddress.Text) { ipNode.InnerText = tbIPAddress.Text + "," + tbPort.Text; } //检查用户名是否已存在 XmlNodeList userNodes = xmlDoc.DocumentElement.SelectNodes("user"); foreach (XmlNode userNode in userNodes) { XmlNodeList idNodes = userNode.ChildNodes; foreach (XmlNode idNode in idNodes) { if (idNode.InnerText == cmbUserName.Text) { if (chkMemory.Checked) { idNode.NextSibling.InnerText = Convert.ToBase64String(cipherText); } else { idNode.NextSibling.InnerText = ""; } idNode.NextSibling.NextSibling.InnerText = Convert.ToBase64String(enc.IV); xmlDoc.Save(Application.StartupPath + "\user.xml"); return; } } } if (userNodes.Count > 5) { //保存的用户不超过6个 xmlDoc.DocumentElement.RemoveChild(userNodes[0]); } //若用户名不存在往xml文件中插入用户信息 XmlNode root = xmlDoc.DocumentElement; XmlElement user = xmlDoc.CreateElement("user"); XmlElement id = xmlDoc.CreateElement("id"); XmlElement pwd = xmlDoc.CreateElement("pwd"); XmlElement iv = xmlDoc.CreateElement("iv"); id.InnerText = cmbUserName.Text; if (chkMemory.Checked) { pwd.InnerText = Convert.ToBase64String(cipherText); iv.InnerText = Convert.ToBase64String(enc.IV); } else { pwd.InnerText = ""; } user.AppendChild(id); user.AppendChild(pwd); user.AppendChild(iv); root.AppendChild(user); xmlDoc.Save(Application.StartupPath + "\user.xml"); }
2023-07-26 12:57:491

如何取到网页中checkbox 中的文字

JS代码实现调用复选框后面的文字【实例描述】在HTML中,复选框和复选框后面的文字并不是一体的,不能通过复选框的“value”属性获取后面的文字。本例学习如何调用复选框后面的文字。【实例代码】<html xmlns="http //www w3 org/1999/xhtml" ><head><title>标题页-学无忧 </title></head><body><form name="frm"><INPUT id=checkList type=checkbox name=checkList onclick="window.alert(nextSibling.innerText);"><LABEL for=checkList>这是后面的文字</LABEL></form></body></html>
2023-07-26 12:57:561

js点击多个checkbox获取相应span值并且自动相加显示在另一个span里面怎么写啊,在线急等!!!

既然是多个checkbox,干嘛获取span的值,把checkbox的value设置为和span相同的值,然后遍历checkbox选中的值进行相加,赋值给要显示的span就行啦~遍历选中checkbox代码,获取总和~$("input:checkbox[name="test"]:checked").each(function() { sum+=parseInt($(this).val());});然后sum赋值给span就好啦~
2023-07-26 12:58:042

线索二叉树里,第一个结点和最后一个结点,他们的前驱和后继线索分别

/*二叉树的二叉线索存储表示*/typedef enum PointerTag{Link,Thread};//Link==0:指针; Thread==1:线索typedef struct CTNode{ int data; struct CTNode *firstchild; struct CTNode *nextsibling; PointerTag LTag,RTag;}CTNode,*CTree;CTree pre=NULL;void InThreading(CTree p) /*线索化*/{if(p){InThreading(p->firstchild);// 左子树线索化if(!p->firstchild ) /*前驱线索*/{p->LTag =Thread;p->firstchild =pre;}if(!pre->nextsibling ) /*后继线索*/{pre->RTag =Thread;pre->nextsibling =p;}pre=p;//保持pre指向pInThreading(p->nextsibling );//右子树线索化}}CTree InOrderThreading(CTree Thrt,CTree ct){//中序遍历二叉树ct,并将其中序线索化,Thrt指向头结点Thrt=(CTree)malloc(sizeof(CTNode));if(!Thrt)exit(0);Thrt->LTag =Link;//建立头结点Thrt->RTag =Thread;Thrt->nextsibling =Thrt;//右指针回指if(!ct)Thrt->firstchild =Thrt;else{Thrt->firstchild =ct;pre=Thrt;InThreading(ct);//中序遍历进行中序遍历线索化pre->nextsibling =Thrt;//最后一个结点线索化pre->RTag =Thread;(Thrt)->nextsibling =pre;}return Thrt;}int print(int e){//输出结点printf("%3d",e);return 1;}/*中序遍历线索化二叉树*/int InOrderTraverse(CTree ct,int(*visit)(int e))/*中序遍历线索化二叉树*/{//ct指向头结点,头结点的做指针firstchild指向根结点,中序遍历二叉树CTree p;p=ct->firstchild ;//p指向根结点while(p!=ct)//空树或遍历结束时,p==ct{while(p->LTag ==Link)p=p->firstchild ;if(!visit(p->data )) return 0; //打印while(p->RTag ==Thread&&p->nextsibling !=ct){p=p->nextsibling ;visit(p->data); //访问后继结点}p=p->nextsibling ;}return 1;}
2023-07-26 12:58:241

JavaScript中如何通过一个元素去查找该元素的子元素节点

在Javascript中,可以通过 children 来获取所有子节点。children只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但是得到了几乎所有浏览器的支持。语法: nodeObject.children其中,nodeObject 为节点对象(元素节点),返回值为所有子节点的集合(数组)。注意:在IE中,children包含注释节点。(转自:http://www.itxueyuan.org/view/6349.html)
2023-07-26 12:58:326

求网易一种CSS链接弹出窗口特效

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>页面内的超级酷浮动窗口</title><style type="text/css"><!--a:visited{text-decoration:none;color:slategray;}a:hover{text-decoration:underline;color:slategray;}a:link{text-decoration:none;color:slategray;}--></style><script language=JScript><!--//可以打包为js文件;var x0=0,y0=0,x1=0,y1=0;var offx=6,offy=6;var moveable=false;var hover="orange",normal="slategray";//color;var index=10000;//z-index;//开始拖动;function startDrag(obj){ if(event.button==1) { //锁定标题栏; obj.setCapture(); //定义对象; var win = obj.parentNode; var sha = win.nextSibling; //记录鼠标和层位置; x0 = event.clientX; y0 = event.clientY; x1 = parseInt(win.style.left); y1 = parseInt(win.style.top); //记录颜色; normal = obj.style.backgroundColor; //改变风格; obj.style.backgroundColor = hover; win.style.borderColor = hover; obj.nextSibling.style.color = hover; sha.style.left = x1 + offx; sha.style.top = y1 + offy; moveable = true; }}//拖动;function drag(obj){ if(moveable) { var win = obj.parentNode; var sha = win.nextSibling; win.style.left = x1 + event.clientX - x0; win.style.top = y1 + event.clientY - y0; sha.style.left = parseInt(win.style.left) + offx; sha.style.top = parseInt(win.style.top) + offy; }}//停止拖动;function stopDrag(obj){ if(moveable) { var win = obj.parentNode; var sha = win.nextSibling; var msg = obj.nextSibling; win.style.borderColor = normal; obj.style.backgroundColor = normal; msg.style.color = normal; sha.style.left = obj.parentNode.style.left; sha.style.top = obj.parentNode.style.top; obj.releaseCapture(); moveable = false; }}//获得焦点;function getFocus(obj){ if(obj.style.zIndex!=index) { index = index + 2; var idx = index; obj.style.zIndex=idx; obj.nextSibling.style.zIndex=idx-1; }}//最小化;function min(obj){ var win = obj.parentNode.parentNode; var sha = win.nextSibling; var tit = obj.parentNode; var msg = tit.nextSibling; var flg = msg.style.display=="none"; if(flg) { win.style.height = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2; sha.style.height = win.style.height; msg.style.display = "block"; obj.innerHTML = "0"; } else { win.style.height = parseInt(tit.style.height) + 2*2; sha.style.height = win.style.height; obj.innerHTML = "2"; msg.style.display = "none"; }}//关闭;function cls(obj){ var win = obj.parentNode.parentNode; var sha = win.nextSibling; win.style.visibility = "hidden"; sha.style.visibility = "hidden";}//创建一个对象;function xWin(id,w,h,l,t,tit,msg){ index = index+2; this.id = id; this.width = w; this.height = h; this.left = l; this.top = t; this.zIndex = index; this.title = tit; this.message = msg; this.obj = null; this.bulid = bulid; this.bulid();}//初始化;function bulid(){ var str = "" + "<div id=xMsg" + this.id + " " + "style="" + "z-index:" + this.zIndex + ";" + "width:" + this.width + ";" + "height:" + this.height + ";" + "left:" + this.left + ";" + "top:" + this.top + ";" + "background-color:" + normal + ";" + "color:" + normal + ";" + "font-size:10px;" + "font-family:Verdana;" + "position:absolute;" + "cursor:default;" + "border:2px solid " + normal + ";" + "" " + "onmousedown="getFocus(this)">" + "<div " + "style="" + "background-color:" + normal + ";" + "width:" + (this.width-2*2) + ";" + "height:20;" + "color:white;" + "" " + "onmousedown="startDrag(this)" " + "onmouseup="stopDrag(this)" " + "onmousemove="drag(this)" " + "ondblclick="min(this.childNodes[1])"" + ">" + "<span style="width:" + (this.width-2*12-4) + ";padding-left:3px;">" + this.title + "</span>" + "<span style="width:12;border-width:0px;color:white;font-family:webdings;" onclick="min(this)">0</span>" + "<span style="width:12;border-width:0px;color:white;font-family:webdings;" onclick="cls(this)">r</span>" + "</div>" + "<div style="" + "width:100%;" + "height:" + (this.height-20-4) + ";" + "background-color:white;" + "line-height:14px;" + "word-break:break-all;" + "padding:3px;" + "">" + this.message + "</div>" + "</div>" + "<div style="" + "width:" + this.width + ";" + "height:" + this.height + ";" + "top:" + this.top + ";" + "left:" + this.left + ";" + "z-index:" + (this.zIndex-1) + ";" + "position:absolute;" + "background-color:black;" + "filter:alpha(opacity=40);" + "">by wildwind</div>"; document.body.insertAdjacentHTML("beforeEnd",str);}//--></script><script language="JScript"><!--function initialize(){ var a = new xWin("1",160,200,200,200,"Message","xWin <br> A Cool Pop Div Window<br>Version:1.0<br>2002-8-13"); var b = new xWin("2",240,200,100,100,"Wildwind"s Msgbox","Welcome to visited my personal website:<br><a href=http://www14.brinkster.com/wildcity target=_blank>http://wildcity.126.com</a><br>and u can also sign my guestbook at:<br><a href=http://www14.brinkster.com/wildcity/gbook target=_blank>http://wildcity.126.com/gbook</a><br><br>thx!!! =)..."); var c = new xWin("3",200,160,250,50,"Copyright","Copyright by <a href="mailto:wildwind_zz@21cn.com">Wildwind</a>!");}window.onload = initialize;//--></script></head><body onselectstart="return false" oncontextmenu="return false" scroll="no"></body></html>或者<html><head><title>用层模拟的小窗口(可拖动展合)</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style type="text/css"><!--body{font-size:12px;}a:visited{text-decoration:none;color:slategray;}a:hover{text-decoration:underline;color:slategray;}a:link{text-decoration:none;color:slategray;}--></style><script language=JScript><!--//可以打包为js文件;var x0=0,y0=0,x1=0,y1=0;var offx=6,offy=6;var moveable=false;var hover="orange",normal="#336699";//color;var index=10000;//z-index;//开始拖动;function startDrag(obj){ if(event.button==1) { //锁定标题栏; obj.setCapture(); //定义对象; var win = obj.parentNode; var sha = win.nextSibling; //记录鼠标和层位置; x0 = event.clientX; y0 = event.clientY; x1 = parseInt(win.style.left); y1 = parseInt(win.style.top); //记录颜色; normal = obj.style.backgroundColor; //改变风格; obj.style.backgroundColor = hover; win.style.borderColor = hover; obj.nextSibling.style.color = hover; sha.style.left = x1 + offx; sha.style.top = y1 + offy; moveable = true; }}//拖动;function drag(obj){ if(moveable) { var win = obj.parentNode; var sha = win.nextSibling; win.style.left = x1 + event.clientX - x0; win.style.top = y1 + event.clientY - y0; sha.style.left = parseInt(win.style.left) + offx; sha.style.top = parseInt(win.style.top) + offy; }}//停止拖动;function stopDrag(obj){ if(moveable) { var win = obj.parentNode; var sha = win.nextSibling; var msg = obj.nextSibling; win.style.borderColor = normal; obj.style.backgroundColor = normal; msg.style.color = normal; sha.style.left = obj.parentNode.style.left; sha.style.top = obj.parentNode.style.top; obj.releaseCapture(); moveable = false; }}//获得焦点;function getFocus(obj){ if(obj.style.zIndex!=index) { index = index + 2; var idx = index; obj.style.zIndex=idx; obj.nextSibling.style.zIndex=idx-1; }}//最小化;function min(obj){ var win = obj.parentNode.parentNode; var sha = win.nextSibling; var tit = obj.parentNode; var msg = tit.nextSibling; var flg = msg.style.display=="none"; if(flg) { win.style.height = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2; sha.style.height = win.style.height; msg.style.display = "block"; obj.innerHTML = "0"; } else { win.style.height = parseInt(tit.style.height) + 2*2; sha.style.height = win.style.height; obj.innerHTML = "2"; msg.style.display = "none"; }}//创建一个对象;function xWin(id,w,h,l,t,tit,msg){ index = index+2; this.id = id; this.width = w; this.height = h; this.left = l; this.top = t; this.zIndex = index; this.title = tit; this.message = msg; this.obj = null; this.bulid = bulid; this.bulid();}//初始化;function bulid(){ var str = "" + "<div id=xMsg" + this.id + " " + "style="" + "z-index:" + this.zIndex + ";" + "width:" + this.width + ";" + "height:" + this.height + ";" + "left:" + this.left + ";" + "top:" + this.top + ";" + "background-color:" + normal + ";" + "color:" + normal + ";" + "font-size:8pt;" + "font-family:Tahoma;" + "position:absolute;" + "cursor:default;" + "border:2px solid " + normal + ";" + "" " + "onmousedown="getFocus(this)">" + "<div " + "style="" + "background-color:" + normal + ";" + "width:" + (this.width-2*2) + ";" + "height:20;" + "color:white;" + "" " + "onmousedown="startDrag(this)" " + "onmouseup="stopDrag(this)" " + "onmousemove="drag(this)" " + "ondblclick="min(this.childNodes[1])"" + ">" + "<span style="width:" + (this.width-2*12-4) + ";padding-left:3px;">" + this.title + "</span>" + "<span style="width:12;border-width:0px;color:white;font-family:webdings;" onclick="min(this)">0</span>" + "<span style="width:12;border-width:0px;color:white;font-family:webdings;" onclick="ShowHide(""+this.id+"",null)">r</span>" + "</div>" + "<div style="" + "width:100%;" + "height:" + (this.height-20-4) + ";" + "background-color:white;" + "line-height:14px;" + "word-break:break-all;" + "padding:3px;" + "">" + this.message + "</div>" + "</div>" + "<div id=xMsg" + this.id + "bg style="" + "width:" + this.width + ";" + "height:" + this.height + ";" + "top:" + this.top + ";" + "left:" + this.left + ";" + "z-index:" + (this.zIndex-1) + ";" + "position:absolute;" + "background-color:black;" + "filter:alpha(opacity=40);" + ""></div>"; document.body.insertAdjacentHTML("beforeEnd",str);}//显示隐藏窗口function ShowHide(id,dis){ var bdisplay = (dis==null)?((document.getElementById("xMsg"+id).style.display=="")?"none":""):dis document.getElementById("xMsg"+id).style.display = bdisplay; document.getElementById("xMsg"+id+"bg").style.display = bdisplay;}//modify by haiwa @ 2005-7-14 ////--></script><script language="JScript"><!--function initialize(){ var a = new xWin("1",160,200,200,200,"窗口1","xWin <br> A Cool Pop Div Window<br>Version:1.0<br>2002-8-13"); ShowHide("1","none");//隐藏窗口1}window.onload = initialize;//--></script></head><base target="_blank"><body onselectstart="return false" oncontextmenu="return false" ><a onclick="ShowHide("1",null);return false;" href="">窗口1</a></body></html>
2023-07-26 12:58:491

求在textarea输入框输入内容后会显示一个关闭的按钮,点击关闭按钮后,可以删除输入的文字的JS代码

1.textarea 设置change 事件 用div先是隐藏,显示这个按钮 2.document.getElementById(ID).value="";
2023-07-26 12:58:573

delphi 树控件定位节点

其实你要实现的功能就是通常所说的 树的遍历.下面是一个遍历所有节点的Function,使用时调用下就可以了:function GetAllChild(TreeNode:TTreeNode;Item:TStrings):boolean;var ND:TTreeNode; ChildNum:integer; i:integer;begin if TreeNode=nil then begin result:=false; exit; end; if TreeNode.HasChildren=true then begin ChildNum:=treenode.Count; ND:=treenode.getFirstChild; for i:=1 to ChildNum do begin item.Add(nd.Text); nd:=nd.getNextSibling; end; result:=true; end else result:=false;end;
2023-07-26 12:59:041

编写算法,对一棵二叉链表表示的二叉树统计其叶子个数

#include<stdio.h>#include<malloc.h>typedefstructCSNode{//孩子-兄弟节点的定义chardata;structCSNode*firstChild;structCSNode*nextSibling;}CSNode,*CSTree;intleafNum=0;//全局变量,存储叶子节点的数量voidcreateCSTree(CSTree&tree){//创建孩子-兄弟二叉树charc=getchar();if(c=="*")tree=NULL;else{tree=(CSTree)malloc(sizeof(CSNode));tree->data=c;createCSTree(tree->firstChild);createCSTree(tree->nextSibling);}}//计算叶子节点的数目,孩子-兄弟二叉树中的叶子节点是指那些没有firstChild的节点voidgetLeafNum(CSTreetree){if(tree){if(!tree->firstChild)leafNum++;getLeafNum(tree->firstChild);getLeafNum(tree->nextSibling);}}intmain(){CSTreecsTree;printf("输入孩子兄弟链表表示的树的结点:");createCSTree(csTree);getLeafNum(csTree);printf("叶子节点的数量为:%d ",leafNum);return0;}例如输入:abc***de**f*g***输出为:叶子节点的数量为:4
2023-07-26 12:59:131

Delphi TreeView遍历所有节点问题

for i := 0 to TreeView.Items.count -1 do Memo.lines.add(TreeView.Items[i].text);
2023-07-26 12:59:212

数据结构的树,如何实现孩子节点法的编程。C语言。

随便找本数据结构的书,应该就有,我看过,没记住
2023-07-26 12:59:341

怎么利用js或jquery实现tab效果类似浏览器多窗口多标签的效果??

我也想知道,是通过什么原理实现的
2023-07-26 12:59:442

js 如果下一个标签==li标签的话 if语句怎么表达

fffggg
2023-07-26 13:00:064

利用tinyxml如何递归遍历kml所有节点

这个csdn上不是挺多资料的吗?见参考资料手册也有。《TinyXML Tutorial 中文指南》
2023-07-26 13:00:212

我点击当前 标签 获取和它平级的下一个标签 也就是它身后的标签 js 怎么获取?

一楼二楼的方法都应该有效。也可以用一对<div>把两个<div>包起来。然后用document.getElementById("div1").parentNode.lastChild来获取你想要的节点。
2023-07-26 13:00:293

angular怎么添加$index

循环的时候直接用就可以了
2023-07-26 13:00:372

建立中序线索二叉树,并且中序遍历; 2. 求中序线索二叉树上已知结点中序的前驱和后继

能用C#实现吗
2023-07-26 13:00:473