barriers / 阅读 / 详情

js中怎样控制不满足条件时不让键盘输入

2023-07-27 07:57:07
TAG: 键盘 js
共1条回复
tt白
最经典的实现字符数控制的方案
当我们在ASP.NET开发时,经常会遇到一个头疼的问题:字符数的控制
由于数据库的字段长度是固定的,因此在进行字符输入时,最关键的就是控制字符的个数不能超过字段的长度,要不然,一个个异常会让人疯掉的。
对于单行文本框,不管是HTML控件还是Web控件,我们经常会使用MaxLength来控制,但这种控制无法控制到中文字符,即MaxLength=50的控制,可以输入50个英文与50个中文,这样的话,还是会导致中文字符数的溢出。
对于多行文本框,那就更惨了,使用MaxLenth根本不起作用的。
下面提供的方案优势:
1)最佳的方法是在文本框中输入时,控制到最大字数,超过时不能进行输入;
2)对于粘帖的情况也要能兼容,以前网上的方法不能控制到paste的情况;
3)对于最后的一个中文字符,宁愿舍去也不能多一个字符,比如50的字符数,在第49个时,最后输入一个中文,会导致最终字数为51,而这种情况,推荐是不能输入中文,保证最终的字符数<=50最佳,因为放弃一个中文字符总比数据库报错要好吧。
4)为了提高开发效率,尽可能的减少代码量,此方案不需要为文本框添加任何事件,而是由脚本块自己解决,因此只需要把脚本块饮包含到页面中就可以了,这应该是相当方便了吧

完善版修改:由于前一个方案中,一些输入法无法激活onpress事件,导致对于中文的不支持,现在采用onkeyup事件处理,在处理方式上也进行了修改,原来的onpress事件是进行输入控制,而onkeyup只能对已经输入后的字数进行字数判断,过长的进行截短处理。
在原方案中,有位朋友指出:数据采用n(type)系统不会报错,是的,如果采用n(type)的话,是以字符为基础的,可以不考虑数据库出错的可能性,但同样也存在一个界面显示的问题,比如界面上的Address值,希望是100个字符,如果不进行中英文字数区分,最多将输入100个中文,从而占200 个字节空间,导致Adress在显示时会超过预料的空间,界面搞得不易控制。因此,此方案还是有可取之处的。
具体新方案实现:
1)将以下的代码包含到页面中:

<script language="javascript">
<!--

String.prototype.len=function(){
return this.replace(/[^/x00-/xff]/g,"**").length;
}

//Set maxlength for multiline TextBox
function setMaxLength(object,length)
{

var result = true;
var controlid = document.selection.createRange().parentElement().id;
var controlValue = document.selection.createRange().text;
var tempString=object.value;

var tt="";
for(var i=0;i<length;i++)
{
if(tt.len()<length)
tt=tempString.substr(0,i+1);
else
break;
}
if(tt.len()>length)
tt=tt.substr(0,tt.length-1);
object.value=tt;

}

//Check maxlength for multiline TextBox when paste
function limitPaste(object,length)
{
var tempLength = 0;
if(document.selection)
{
if(document.selection.createRange().parentElement().id == object.id)
{
tempLength = document.selection.createRange().text.len();
}
}
var tempValue = window.clipboardData.getData("Text");
tempLength = object.value.len() + tempValue.len() - tempLength;

if (tempLength > length)
{
tempLength -= length;
var tt="";
for(var i=0;i<tempValue.len()-tempLength;i++)
{
if(tt.len()<(tempValue.len()-tempLength))
tt=tempValue.substr(0,i+1);
else
break;
}
if(tt.len()<=0)
{
window.event.returnValue=false;

}
else
{
tempValue=tt;
window.clipboardData.setData("Text", tempValue);
window.event.returnValue = true;
}
}

}

function PressLength()
{

if(event.srcElement.type=="text" || event.srcElement.type=="textarea" )
{
if(event.srcElement.length!=null)
setMaxLength(event.srcElement,event.srcElement.length);

}
}

function LimitLength()
{

if(event.srcElement.type=="text" || event.srcElement.type=="textarea" )
{
if(event.srcElement.length!=null)
limitPaste(event.srcElement,event.srcElement.length);
}
}
document.documentElement.attachEvent("onkeyup", PressLength);
document.documentElement.attachEvent("onpaste", LimitLength);

//-->
</script>

2)在需要控制的控件上添加length="n"(n为要控制的字数)即可,如:
<INPUT type="text" length="3"> <TEXTAREA length="20" rows="2" cols="20"></TEXTAREA> <asp:TextBox id="TextBox1" runat="server" length="7"></asp:TextBox> <asp:TextBox id="TextBox2" runat="server" TextMode="MultiLine" length="10"></asp:TextBox> 上面是HTML控件与Web控件的例子,只要加一个length就可以了。

个人建议:1)可以把这个脚本块放在js文件中,进行引用即可
2)可以把脚本放在BasePage中,这样每个页面都可以使用了
3)可以使用这些脚本块,开发专门的服务器端控件。

相关推荐

parentNode(parentNode属性什么意思)

您好,我就为大家解答关于parentNode,parentNode属性什么意思相信很多小伙伴还不知道,现在让我们一起来看看吧!1、parentNode 属性以 N... 您好,我就为大家解答关于parentNode,parentNode属性什么意思相信很多小伙伴还不知道,现在让我们一起来看看吧! 1、parentNode 属性以 Node 对象的形式返回指定节点的父节点。 2、parentNode跟parentElement除了前者是w3c标准,后者只ie支持。 3、当父节点的nodeType不是1,即不是element节点的话,它的parentElement就会是null。 4、一般情况parentNode可以取代parentElement的所有功能。 5、parentElement匹配的是parent为element的情况,而parentNode匹配的则是parent为node的情况。 6、element是包含在node里的,它的nodeType是1。
2023-07-26 02:44:551

JS中的parentElement,parentNode,childNodes,children,[object text]问题

parentElement 获取对象层次中的父对象。 parentNode 获取文档层次中的父对象。 childNodes 获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。 children 获取作为对象直接后代的 DHTML 对象的集合。 parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个不是标准,Firefox就不支持。当父节点的nodeType不是1,即不是element节点的话,它的parentElement就会是null一般情况parentNode可以取代parentElement的所有功能。parentElement匹配的是parent为element的情况,而parentNode匹配的则是parent为node的情况。element是包含在node里的,它的nodeType是1。
2023-07-26 02:45:081

javascript的parentNode,parentElement

parentElement 是IE专用属性,parentNode 是W3C标准属性,parentElement 指的是该元素的父元素,parentNode指的是该DOM元素节点的上级节点
2023-07-26 02:45:324

this.parentElement.parentElement火狐谷歌undefined

神秘
2023-07-26 02:45:412

我要怎么取得父级DIV的ID呢?

开始你给我的私信有回给你了 你去看看
2023-07-26 02:45:493

jquery怎么获取当前元素的父元素

$(this).parent()
2023-07-26 02:45:571

在jap中怎么样实现利用按钮跳转页面

如果该按钮是在form表单中则很好处理<form action="需要跳转的页面"><Button onclick="this.parentElement.submit">我是跳转按钮,点我就跳到另外一个页面,点我试试</Button></form>代码解释:action为跳转的页面地址,可以交由Servlet处理跳转,也可以直接页面名,Button按钮标签,单击事件:onclick。this代表当前的对象,也就是按钮标签这个对象,指代作用。parentElement是得到当前标签(Button)的父标签(form)。form本身有一个事件:onsubmit。提交事件。this。parentElement。submit会自动调用onsubmit这个事件后。寻找action中的地址,然后就可以进行跳转了。如果该按钮不是在form表单中,则需要:<script> function goURL(){ window.location = "URL"; }</script><Button onclick="goURL();">我是跳转按钮,点我就跳到另外一个页面,点我试试</Button>或者:<Button onclick="window.location="url";">我是跳转按钮,点我就跳到另外一个页面,点我试试</Button>
2023-07-26 02:46:101

js里面哪个方法可以找到父节点的

<HTML> <HEAD> </HEAD> <BODY> <script> function find(obj) { //tr的对象obj //obj.parentElement就是table //obj.parentElement.children.length,table的孩子数 //obj.parentElement.children(1),就是table的第2个孩子(tr) //obj.parentElement.children(1).children(0),就是就是table的第2个孩子(tr)的第一个孩子(td),就这样找...都能找到 alert(obj.parentElement.children(1).children(0).innerText); } </script><table width="50%" border=1> <tr onClick="find(this);"> <td>1 </td> <td>2 </td> </tr> <tr> <td>3 </td> <td>4 </td> </tr></table></BODY></HTML>
2023-07-26 02:46:171

parentElement.removeNode(true),IE下正常,火狐、谷歌下失效,帮忙解决一下。

只有IE有removeNode 你可以这样写this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);最好能写个函数 每个按钮执行函数就行了 不要重复写这些
2023-07-26 02:46:362

C#listview 拖动水平滚动条怎样保持第一列不滚动

以下为Gridview嵌套两层div的代码: <div id="grid"> <div id="gridview"> <asp:GridView ID="GridView1" runat="server" Font-Size="9pt" CssClass="datagrid"><HeaderStyle Wrap="false" /> <RowStyle Wrap="false" /> </asp:GridView> </div></div>然后是CSS样式表:<style> .datagrid td {padding:4px; height:20px; text-align:center}.fixed{ background:#fcc; z-index:2; }.gridWidth{ width:4000px;} .unfixed{ border:none;}#grid {position:relative;display:block; width:90%; margin:30px auto; background:#fff; overflow:hidden;} #gridview{position:relative;display:block;width:100%; background:#fff; overflow-y: hidden;overflow-x: scroll;}</style>再是JS代码(用Jquery框架):<script type="text/javascript" src="jquery-1.3.1.js"></script><script type="text/javascript">$(document).ready(function(){ var d=$("<div></div>"); var height=0; var width=0; d.css({position:"absolute",left:"0",top:"0",background:"#fff"}); $("#grid").append(d); var view=$(".datagrid"); var t=$("<table class="datagrid" cellspacing="0" rules="all" border="1" style="font-size:9pt;border-collapse:collapse;"></table>"); /*这里的table样式是在浏览器中查看GridView解析后的表格的样式,直接复制就行!*/ var trlist=view.find("tr"); for(var i=0;i<trlist.length;i++){ var tr=trlist[i]; var newTr=$("<tr style="white-space:nowrap;"></tr>"); /*这里tr的样式也一样,但要注意的是,有时gridview会隔一行换一种样式,这里的JS代码需要做一些处理*/ newTr.append($(tr).children(".fixed").clone()); t.append(newTr); } d.append(t); });</script>
2023-07-26 02:46:432

js怎么获取文本框内容

(这个文本框不在form里)提交
2023-07-26 02:46:513

关于前端的几个知识点,劳烦知友帮忙解答一下

1、DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。document.documentElement 返回文档的根节点<html> document.body <body> document.activeElement 返回当前文档中被击活的标签节点(ie) event.fromElement 返回鼠标移出的源节点(ie) event.toElement 返回鼠标移入的源节点(ie) event.srcElement 返回激活事件的源节点(ie) event.target 返回激活事件的源节点(firefox) 当前对象为node 返回父节点:node.parentNode, node.parendElement, 返回所有子节点:node.childNodes(包含文本节点及标签节点),node.children 返回第一个子节点:node.firstChild 返回最后一个子节点: node.lastChild 返回同属上一个子节点:node.nextSibling 返回同属下一个子节点:node.previousSibling parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个只是IE支持,不是标准,Firefox就不支持 ,所以大家只要记得有parentElement和children就行了 2、DOM操作——怎样添加、移除、移动、复制、创建和查找节点。(1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点(2)添加、移除、替换、插入 appendChild() removeChild() replaceChild() insertBefore()(3)查找 getElementsByTagName() //通过标签名称 getElementsByName() //通过元素的Name属性的值 getElementById() //通过元素Id,唯一性3、事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。 IE 5.5: div -> body -> document IE 6.0: div -> body -> html -> document Mozilla 1.0: div -> body -> html -> document -> window(2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。(3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。 DOM事件模型最独特的性质是,文本节点也触发事件(在IE中不会)。4、XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。<script type="text/javascript"> varxmlhttp; functionloadXMLDoc(url){ xmlhttp=null; if(window.XMLHttpRequest){ //code for all new browsers xmlhttp=newXMLHttpRequest(); }elseif(window.ActiveXObject){ //code for IE5 and IE6 xmlhttp=newActiveXObject("Microsoft.XMLHTTP"); } if(xmlhttp!=null){ xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET",url,true); xmlhttp.send(null); }else{ alert("Your browser does not support XMLHTTP."); }}functionstate_Change(){ if(xmlhttp.readyState==4){ //4 = "loaded" if(xmlhttp.status==200){ //200 = OK //...our code here... }else{ alert("Problem retrieving XML data"); } }}</script>5、严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法。如果XHTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML 4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。6、盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。一个元素盒模型的层次从内到外分别为:内边距、边框和外边距IE8以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框7、块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。块级元素,用CSS中的display:inline;属性则变为行内元素行内元素,用CSS中的display:block;属性则变为块级元素影响:周围元素显示在同一行或换行显示,根据具体情况调整样式8、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。需要浮动的元素可使用CSS中float属性来定义元素的浮动位置,left:往左浮动,right:往右浮动浮动元素引起的问题:(1)父元素的高度无法被撑开,影响与父元素同级的元素(2)与浮动元素同级的非浮动元素会跟随其后(3)若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构解决方法:使用CSS中的clear:both;属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式:.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}.clearfix{display: inline-block;} /* for IE/Mac */9、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。主要区别: XHTML 元素必须被正确地嵌套 XHTML 元素必须被关闭,空标签也必须被关闭,如 <br> 必须写成 <br /> XHTML 标签名必须用小写字母 XHTML 文档必须拥有根元素 XHTML 文档要求给所有属性赋一个值 XHTML 要求所有的属性必须用引号""括起来 XHTML 文档需要把所有 < 、>、& 等特殊符号用编码表示 XHTML 文档不要在注释内容中使“--” XHTML 图片必须有说明文字 XHTML 文档中用id属性代替name属性10、JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON建构于两种结构:“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
2023-07-26 02:47:001

js 得到TR里某个td的值

这个用jquery很容易的 $("tr").find("td").eq(7)就是获得当前行的第八列原生态js写法是 window.event.srcElement.parentElement.parentElement.childNodes获得所有的td 循环一下就行了
2023-07-26 02:47:071

求教 document.getElementById 的用法

1、getElementById作用:一般页面里ID是唯一的,用于准备定为一个元素 语法: document.getElementById(id) 参数:id :必选项为字符串(String) 返回值:对象; 返回相同id对象中的第一个,按在页面中出现的次序,如果无符合条件的对象,则返回 nullexample:document.getElementById("id1").value;2、getElementsByName作用:按元素的名称查找,返回一个同名元素的数组语法: document.getElementsByName(name)参数:name :必选项为字符串(String)返回值:数组对象; 如果无符合条件的对象,则返回空数组,按在页面中出现的次序example:document.getElementsByName("name1")[0].value; document.getElementsByName("name1")[1].value; 3、getElementsByTagName作用:按HTML标签名查询,返回一个相同标签元素的数组语法: object.getElementsByTagName(tagname) object可以是document或event.srcElement.parentElement等参数:tagname:必选项为字符串(String),根据HTML标签检索。返回值:数组对象; 如果无符合条件的对象,则返回空数组,按在页面中出现的次序example:document.getElementsByTagName("p")[0].childNodes[0].nodeValue; document.getElementsByTagName("p")[1].childNodes[0].nodeValue
2023-07-26 02:47:151

如何用javascript设置table的td的id

分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描述: <TABLE id="aaa"> <TR> <TD>s1</TD> <TD>s2</TD> </TR> <TR> <TD>s3</TD> <TD>s4</TD> </TR> </TABLE> 一个表格如上,如何用javascript把内容为s3的td的ID设置为ss3 ???? 解析: 参考一下这段,把代码直接贴到文件即可使用 <style>body,td,div,a,input{font:menu;line-height:150%}</style> <table cellspacing=1 cellpadding=1 border=0 width=100% id=t136><tbody><form method=post enctype="multipart/form-data"><input type=hidden name=deal value=true><input type=hidden name=frmID value=22><input type=hidden name=thisdir value=><input type=hidden name=TID value=><tr class="page_speeder_1153071515" bgcolor=ACD0FD><td colspan=2>呵呵</td></tr><tr bgcolor=EFEFD6><td colspan=2><font color=000080>哈哈</font></td></tr><input type=hidden name=frmShowURL value=payment><input type=hidden name=ID value=><tr bgcolor=F0F0F0><td>xixi</td><td>xixi </td></tr><tr bgcolor=F9F9F9><td>hehe</td><td><input type=text class=border_index name=newdir style="ime-mode:disabled"><font color=000080>hehe</font> </td></tr><tr bgcolor=F0F0F0><td>新图片上传</td><td><div> <input type=button onclick=addNew() value=增加 class=button_index><font color=000080>(按一次增加按钮就可以上传一张图片。)</font></div></td></tr><tbody></table></form><script> var i=0,arr=new Array("F9F9F9","F0F0F0"); function addNew(){ tr=document.all.t136.insertRow(); tr.style.backgroundColor=arr[i%2]; tr.insertCell().innerText="图片"+(++i); tr.insertCell().innerHTML="<input type=file name=pic"+i+" class=border_index> <a href=javascript:void(0) onclick=del()>删除</a>" } function del(){ document.all.t136.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex); for(i=0;i<document.all.t136.rows.length-5;i++){ document.all.t136.rows[i+5].cells[0].innerText="图片"+(i+1); document.all.t136.rows[i+5].cells[1].children[0].name="pic"+(i+1); document.all.t136.rows[i+5].style.backgroundColor=arr[i%2]; } } </script>
2023-07-26 02:47:341

请教一下,在易语言中,我想把编辑框1里的数字,全部提取到编辑框2中。该怎么做?参考你的例子未能成功。

使用精易模块的正则,不要用易语言自带的正则源文本=编辑框1.内容"文本型变量计次=0"整数型变量正则.创建("onclick")"+#引号+">jw(.*?)</span>",源文本)计次循环首(正则.取子匹配数量,计次)编辑框2.内容=编辑框2.内容+正则.取子匹配文本(1,1)+#换行符计次循环尾()"上面代码我已经给你写出来了。满意请采纳。
2023-07-26 02:47:411

怎么用原生js去找父级里的子元素

dom.parentNode.children()
2023-07-26 02:47:571

JS之DOM操作

DOM: Document Object Model,文档对象模型;js提供了丰富的api来操作文档内容。 DOM树: html文档中的内容是以树形结构排布,html是DOM树根,html下只有两个子标签head、body 节点: DOM将所有的分支端都成为节点。节点有很多类型,常见的节点类型有:文本节点、元素节点。 可以通过 nodeType查看节点类型 : 1元素节点、3文本节点 特殊的元素节点: 1、html元素 2、body元素 3、head元素 节点操作的api(属性和方法) 1、nodeName:只读属性,可以读取节点名称 2、nodeType:只读属性,读取节点类型 3、 hasChildNodes():判断调用方法的节点是否存在子节点,存在返回true,不存在返回false。 主流浏览器会将换行符、制表符、空格当做文本节点处理,IE9以下会忽略它们。 4、childNodes:只读属性,获得节点的子节点集合,子节点集合是一个类数组结构,有数组特点无数组方法 5、firstChild:获得节点的第一个子节点 6、lastChild:获得节点的最后一个子节点 7、querySelector(): 参数:string类型,css选择器 作用:获得文档中第一个符合选择器条件的节点 兼容:在IE9以下不支持 8、 querySelectorAll(): // 获得的都是静态集合 参数:string类型,css选择器 作用:获得文档中所有符合选择器条件的节点集合(类数组结构) 兼容:在IE9以下不支持 注意: querySelector() 和 querySelectorAll() 得到的都是元素节点。 9、previousSibling:获取节点的前一个兄弟节点 10、nextSibling:获取节点的后一个兄弟节点 11、parentNode:获得节点的父节点(父节点一定是元素节点) 12、removeChild():节点删除它的指定子节点 DOM操作元素:暂时不用的隐藏、一定不用的删除。 13、cloneNode():克隆一个节点 参数:boolean类型,true深克隆,false浅克隆,默认浅克隆 深克隆:不仅克隆节点和节点的属性,还会克隆节点的子节点 浅克隆:只克隆节点和节点的属性,不会克隆节点的子节点 14、a.replaceChild(b,c):用b替换c 其中a是c的父节点,c是文档上已经存在的节点,b可以是节点也可以是已存在节点,被替换的节点会从文档结构中删除。 15、a.replaceWith(b):用b替换a a已存在的节点,b可以是新节点也可以是已存在节点,被替换的节点从DOM树删除。 16、a.insertBefore(b,c):在c前面插入b 其中,a是c的父节点,c是已经存在的节点,b是新节点 17、a.appendChild(b):在a末尾追加b a是父节点,b是a的子节点, c是子节点 元素节点的相关api 1、getElementsByTagName():根据标签名获得元素集合(类数组结构) 区别:HTMLCollection 是动态集合,NodeList 是静态集合。 2、createElement():根据标签名创建新元素 3、id:读写属性,可以读取或设置元素的id值 4、className:读写属性,可以读取或设置元素的class值 5、classList:读取标签的类名集合(类数组结构) add():为元素新增类名,如果类名已存在不会重复添加 remove():删除元素指定类名,如果类名不存在不会执行操作 元素的属性分为两类: 一类是元素本里就拥有的属性,例如:id、class、style、src、herf、target、alt、title、type、value等等,这些属性可以在js中直接通过.语法读取或设置。 再一类是我们为了解决问题给元素添加的自定义属性,这些属性在js中无法直接通过.语法读取,需要通过操作方法访问。 6、setAttribute(name,value) 参数:name表示要设置的属性名,value要为属性设置的值 无返回值 7、getAttribute(name) 参数:name表示要读取的属性名 返回值:返回属性的值,如果属性不存在会返回null 8、removeAttribute(name) 参数:name表示要删除的属性名 无返回值 说明:setAttribute()、getAttribute()、removeAttribute()都可以操作元素的本地属性和自定义属性。 element拓展: 兼容:以下属性、方法在IE9以下不支持。 1、children:读取元素的所有元素子节点集合(类数组) 2、parentElement:读取元素的父元素节点 3、previousElementSibling:读取前一个元素兄弟节点 4、nextElementSibling:读取后一个元素兄弟节点 5、firstElementChild:读取第一个元素子节点 6、lastElementChild:读取最后一个元素子节点 7、remove(): 将调用方法的元素从DOM结构中删除
2023-07-26 02:48:041

jsp中制作下拉时间

这太简单了
2023-07-26 02:48:123

(HTML JS javascript) js 中如何得到本标签位于父标签中的第几个?

方法1:这段HTML代码是不是服务器端脚本生成,加一个序号属性,这样最简单明了。方法2:申请计数器变量,写循环在 currentNode.parentElement.children 集合中比对。 不过还是强烈建议用 jquery 选择器处理这类问题
2023-07-26 02:48:204

请问:如何在aspx页面中实现点击文本框出现日期选择,并且所选的时间进入文本框中?

用内嵌javascript更好,占服务器资源比较少,转一下别人的代码(具体调用方法最下面有):<script>/* alin *//* Email:caoailin111@sohu.com *//* QQ:38062022 *//* Creation date: 2004-6-13 */ var myC_x,myC_y; var myC_timeset=null,myC_timeset1=null; var divObj=null; var inputName; function myCalendar() //构建对象 { var myDate = new Date(); this.year = myDate.getFullYear(); this.month = myDate.getMonth()+1; this.date = myDate.getDate(); this.format="yyyy-mm-dd"; this.style = myStyle(1); this.show = createCalendar; this.input = createInput; } function myStyle(num) //设置样式 { if(!num||isNaN(num)){alert("参数不对,采用默认样式!");num=1;} var style = new Array(); style[1]=".week{background-color:#DfDfff;font-size:12px;width:140px;}" +".ds{width:140px;font-size:12px;cursor:hand}" +".mover{border:1px solid black;background-color:#f4f4f4;}" +".move1{border:1px solid #5d5d5d;background-color:#f4f4f4;color:#909eff;font-size:12px}" +".tit{background-color:#909EFF;width:140px;font-size:12px;color:white;cursor:default}" +".cs{position:absolute;border:1px solid #909eff;width:142px;left:0px;top:0px;z-index:9999;}" +".shadow{position:absolute;left:0px;top:0px;font-family: Arial Black;font-size:50px;color:#d4d4d4;z-index:1;text-align:center;}"; document.write("<style type="text/css">"); document.write(style[num]); document.write("</style>"); } function createCalendar() { var week = new Array("日","一","二","三","四","五","六"); document.write("<div class="cs" onselectstart="return false" oncontextmenu="return false" onmousedown="if(event.button==2)this.style.display="none"" id="myC_div"><div class="shadow"></div><div style="position:absolute;left:0px;top:0px;z-index:1">"); //创建头部 document.write("<table class="tit" id="myC_Top" onmousedown="myC_x=event.x-parentNode.parentNode.style.pixelLeft;myC_y=event.y-parentNode.parentNode.style.pixelTop;setCapture()" onmouseup="releaseCapture();" onmousemove="myCMove(this.parentElement.parentElement);"><tr><td width=10 onmouseover="this.style.color="black"" onmouseout="this.style.color=""" onclick="cutYear()" style="font-family: Webdings;cursor:hand;" title="减少年份">7</td><td title="减少月份" onmouseover="this.style.color="black"" onclick="cutMonth()" onmouseout="this.style.color=""" width=10 style="font-family: Webdings;cursor:hand;">3</td><td align=center onmouseover=this.className="move1"; onmouseout=this.className="";divHidden(myC.parentElement.nextSibling); onclick="createyear("+this.year+",this);divShow(myC.parentElement.nextSibling);"></td><td align=center onclick="createmonth("+this.month+",this);divShow(myC.parentElement.nextSibling)" onmouseover=this.className="move1"; onmouseout=this.className="";divHidden(myC.parentElement.nextSibling);></td><td width=10 onmouseover="this.style.color="black"" onmouseout="this.style.color=""" onclick="addMonth()" style="font-family: Webdings;cursor:hand;" title="增加月份">4</td><td width=10 style="font-family: Webdings;cursor:hand;" onmouseover="this.style.color="black"" onmouseout="this.style.color=""" onclick="addYear()" title="增加年份">8</td></tr></table>"); //创建星期条目 document.write("<table class="week"><tr>"); for(i=0;i<7;i++) document.write("<td align=center>"+week[i]+"</td>"); document.write("</tr></table>"); //创建日期条目 document.write("<table class="ds" id="myC" cellspacing=2 cellpadding=0>"); for(i=0;i<6;i++) { document.write("<tr>"); for(j=0;j<7;j++) document.write("<td width=10% height=16 align=center onmouseover="mOver(this)" onmouseout="mOut(this)" onclick="if(this.innerText!="")getValue(inputName,this.innerText);myC_div.style.display="none""></td>"); document.write("</tr>"); } document.write("</table>"); //建建水印 document.write("</div>"); //创建选择图层 document.write("<div style="position:absolute;left:0px;top:0px;z-index:3" onmouseover=divShow(this) onmouseout=divHidden(this)></div>"); document.write("</div>");//显示日期 showDate(this.year,this.month); myC_div.style.display="none"; } function getValue(obj,value) { eval(obj).value=parseInt(myC_Top.cells[2].innerText)+"-"+parseInt(myC_Top.cells[3].innerText)+"-"+value; } function showDate(year,month) { var myDate = new Date(year,month-1,1); var today = new Date(); var day = myDate.getDay(); var length = new Array(31,30,31,30,31,30,31,31,30,31,30,31); length[1] = ((year%4==0)&&(year%100!=0)||(year%400==0))?29:28; for(i=0;i<myC.cells.length;i++)myC.cells[i].innerHTML = ""; for(i=0;i<length[month-1];i++) { myC.cells[i+day].innerHTML = (i+1); if(new Date(year,month-1,i+1).getDay()==6||new Date(year,month-1,i+1).getDay()==0){myC.cells[i+day].style.color="red";} } myC_Top.cells[2].innerText=year+"年"; myC_Top.cells[3].innerText=month+"月"; with(myC.parentNode.previousSibling.style) { pixelLeft=myC.offsetLeft; pixelTop=myC.offsetTop; height = myC.clientHeight; width = myC.clientWidth; } myC.parentElement.parentElement.style.height=myC.parentElement.offsetHeight; myC.parentElement.previousSibling.innerHTML=year; } //一些附加函数-------------------- //---------Begin------------------- function mOver(obj){obj.className = "mover";} function mOut(obj){if(obj.className=="mover")obj.className = "";} function addYear(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText); year++;showDate(year,month);} function addMonth(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);month++;if(month>12){month=1;year++;}showDate(year,month);} function cutYear(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);year--;showDate(year,month);} function cutMonth(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);month--;if(month<1){month=12;year--;}showDate(year,month);} function divS(obj) { if(obj!=divObj) { obj.style.backgroundColor="#909eff"; obj.style.color="black"; } if(divObj!=null) { divObj.style.backgroundColor=""; divObj.style.color=""; } divObj = obj; } function divShow(obj) { if (myC_timeset!=null) clearTimeout(myC_timeset); obj.style.display="block"; } function divHidden(obj){myC_timeset=window.setTimeout(function(){obj.style.display="none"},500);} function createyear(year,obj)//创建年份选择 { var ystr; var oDiv; ystr="<table class="move1" cellspacing=0 cellpadding=2 width="+obj.offsetWidth+">"; ystr+="<tr><td style="cursor:hand" onclick="createyear("+(year-20)+",myC_Top.cells[2])" align=center>上翻</td></tr>"; for(i=year-10;i<year+10;i++) if(year==i) ystr+="<tr style="background-color:#909eff"><td style="color:black;height:16px;cursor:hand" align=center onclick="myC_Top.cells[2].innerText=this.innerText;showDate("+i+",parseInt(myC_Top.cells[3].innerText));myC.parentElement.nextSibling.innerHTML=""">"+i+"年</td></tr>"; else ystr+="<tr><td align=center style="cursor:hand" onmouseover=divS(this) onclick="myC_Top.cells[2].innerText=this.innerText;showDate("+i+",parseInt(myC_Top.cells[3].innerText));myC.parentElement.nextSibling.innerHTML=""">"+i+"年</td></tr>"; ystr+="<tr><td style="cursor:hand" onclick="createyear("+(year+20)+",myC_Top.cells[2])" align=center>下翻</td></tr>"; ystr+="</table>"; oDiv = myC.parentElement.nextSibling; oDiv.innerHTML=""; oDiv.innerHTML = ystr; showDiv(oDiv,obj.offsetTop+obj.offsetHeight,obj.offsetLeft); } function createmonth(month,obj)//创建月份选择 { var mstr; var oDiv; mstr="<table class="move1" cellspacing=0 cellpadding=2 width="+obj.offsetWidth+">"; for(i=1;i<13;i++) if (month==i) mstr+="<tr style="background-color:#909eff"><td style="color:black;height:16px;cursor:hand" align=center onclick="myC_Top.cells[3].innerText=this.innerText;showDate(parseInt(myC_Top.cells[2].innerText),"+i+");myC.parentElement.nextSibling.innerHTML=""">"+i+"月</td></tr>"; else mstr+="<tr><td align=center style="cursor:hand" onmouseover="divS(this)" onclick="myC_Top.cells[3].innerText=this.innerText;showDate(parseInt(myC_Top.cells[2].innerText),"+i+");myC.parentElement.nextSibling.innerHTML=""">"+i+"月</td></tr>"; mstr+="</table>"; oDiv = myC.parentElement.nextSibling; oDiv.innerHTML=""; oDiv.innerHTML = mstr; showDiv(oDiv,obj.offsetTop+obj.offsetHeight,obj.offsetLeft); } function showDiv(obj,top,left) { obj.style.pixelTop=top; obj.style.pixelLeft=left; } function myCMove(obj) { if(event.button==1) { var X = obj.clientLeft; var Y = obj.clientTop; obj.style.pixelLeft= X+(event.x-myC_x); obj.style.pixelTop= Y+(event.y-myC_y); window.status=myC_y; } } function showDiv2(obj) { inputName=obj.name; var e=obj; var ot = obj.offsetTop; var ol=obj.offsetLeft; while(obj=obj.parentElement){ot+=obj.offsetTop;ol+=obj.offsetLeft;} myC_div.style.pixelTop=ot+e.offsetHeight; myC_div.style.pixelLeft=ol; myC_div.style.display="block"; } function createInput(name) {myC_div.style.display="none"; document.write("<input type="text" name=""+name+"" size=20 onfocus="showDiv2(this)">"); } // --------------End --------------------- </script><script>var myCalendar=new myCalendar; myCalendar.year=2005; myCalendar.show(); myCalendar.input("txt1");</script><input type="text" name="test" onfocus="showDiv2(this)" readonly=true>
2023-07-26 02:48:272

js拖动div,显示坐标怎样相对于父层

将 #main 设定成 position:relative,里面的 absolute 的 x,y 位置就会是相对它而不是相对页面,就不用算得这麼辛苦了。
2023-07-26 02:48:351

jquery实现拖拽tr

案例和插件没什么区别吧,jquery UI里面 整合一下就好了
2023-07-26 02:48:531

怎么用js设置一个按钮点击按钮可以添加table的行

js设置一个按钮点击按钮可以添加table的行:1、你先要根据table的ID获取到table实例2、当单机按钮的时候,创建一个table行,然后添加到已经获取到的table中即可具体可参考:http://blog.csdn.net/adsdassadfasdfasdf/article/details/6047927
2023-07-26 02:49:032

JS如何获得动态增加行的行号

都贴这么多
2023-07-26 02:49:185

请教Ext高手我现在子窗口中如何得到父窗口中的值,没有分了请大家帮帮忙

把Ext改成parent.Ext试试
2023-07-26 02:49:332

HTML中img的属性有哪些

骨灰级工会经费
2023-07-26 02:50:053

用js怎么动态插入行

为什么不用jquery呢,那简单到不行了,用js操作Dom比较麻烦,如果你刚学js的话,那就先学js,如果你是学过js的话,建议学习jquery,你会感觉一切都变得简单!!!Jquery,你值得信赖!!!记得看私信!!!以下是js实现!!!百度一下有好多!!!<%@ page language="java" import="java.util.*,com.page.wash.giveclothing.*" pageEncoding="gbk"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>添加表格信息</title><meta http-equiv="pragma" content="no-cache" /><meta http-equiv="cache-control" content="no-cache" /><meta http-equiv="expires" content="0" /> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3" /><meta http-equiv="description" content="This is my page" /><script language="javascript" type="text/javascript"> function AddRow(){//添加一行var i =tab1.rows.length;var Nam=""div1"";var Cod="fuJ"+i;var newTr = tab1.insertRow();//添加列var newTd0 = newTr.insertCell();var newTd1 = newTr.insertCell();var newTd2 = newTr.insertCell();var newTd3 = newTr.insertCell();//设置列内容和属性newTd0.innerHTML = "<input type="checkbox" id="box1" onClick="GetRow()"/ /><input type="hidden" name="fuJ" id="+Cod+" />"; newTd1.innerHTML = " 衣服尺码";newTd2.innerHTML = " 衣服花色";newTd3.innerHTML = " 处理类型";}function DelRow(){//删除一行 var shu=0; var cheCou=document.all("box1"); for(var i=0;i<cheCou.length;i++) { if (cheCou[i].checked==true) { shu++; } } if(shu==cheCou.length) { alert("最少要添加一件衣服"); return; } else if(shu==0) { alert("请选择你要删除的信息"); return; } else if(shu==1) { for(var i=0;i<cheCou.length;i++) { if(cheCou[i].checked==true) { tab1.deleteRow(i+1); } } } else if(shu>1) { for(var a=0;a<shu;a++) { for(var i=0;i<cheCou.length;i++) { if(cheCou[i].checked==true) { tab1.deleteRow(i+1); break; } } } }}function GetRow(){ //获得行索引 //两个parentElement分别是TD和TR哟,rowIndex是TR的属性 //this.parentElement.parentElement.rowIndex cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex; }</script> </head> <body><form name="form1" action="${pageContext.request.contextPath}/giveClothing.do?method=FuJiaFei" method="post" ><center> <fieldset> <legend><strong>动态添加一行表格</strong></legend> <input type=hidden id="hid" name="hid"/ /> <table id="tab1" align="center" border="1" cellPadding="4" cellSpacing="0" borderColorLight="#999999" borderColorDark="#ffffff" style="width:95%;word-break: break-all"> <thead> <tr> <th align="center" width="10%">选择</th> <th align="center" width="15%">衣服尺码</th> <th align="center" width="15%">衣服花色</th> <th align="center" width="15%">处理类别</th> </tr> </thead> <tr > <td><input type=checkbox id="box1" onClick="GetRow()" /> <input type="hidden" name="fuJ" id="fuJ1" /> </td> <td> 衣服尺码</td> <td> 衣服花色</td> <td> 处理类别</td> </tr> </table> <table align="center" border="1" cellPadding="4" cellSpacing="0" borderColorLight="#999999" borderColorDark="#ffffff" style="width:95%;word-break: break-all"> <tr> <td align="right"> <input type="button" name="Submit" value="增加一行" onclick="javascript:AddRow();" /> <input type="button" name="Submit" value="删除一行" onclick="javascript:DelRow();" /> </td> </tr> </table></form> </body></html>
2023-07-26 02:50:133

拖动DIV,效果不对,不知道哪里错了,请帮忙看看

跟据你的改编的,自已看看,是不是你要的<!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><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style><!--.aaa{ position:absolute; display:none; width:300px; height:130px; background-color:#FFFFFF; border:1px #CCCCCC solid;}.b{ height:20px; text-align:right; font-size:12px; border-bottom:1px #CCCCCC solid; line-height:20px; width:94%; float:left; text-align:center; cursor:hand;}.c{ height:20px; text-align:right; font-size:12px; border-bottom:1px #CCCCCC solid; line-height:20px; width:5%; float:left;}.d{ font-size:12px; padding:10px; line-height:23px;}.e{ width:100%; height:20px; line-height:20px; text-align:center;}.clear{ clear:both;}--></style></head><body><!----------------链接一--------------------><a href="#" onClick="javascript:divop("test1","show",1);" />链接1</a><a href="#" onClick="javascript:divop("test2","show",2);" />链接2</a><a href="#" onClick="javascript:divop("test3","show",3);" />链接3</a><a href="#" onClick="javascript:divop("test4","show",4);" />链接4</a></p><div id="test1" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test1","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test1","hid");" /></div></div><div id="test2" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test2","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test2","hid");" /></div></div><div id="test3" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test3","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test3","hid");" /></div></div><div id="test4" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test4","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test4","hid");" /></div></div><script language="javascript">function $(id){ return document.getElementById(id);}function divop(objid,stat,num)//控制层的显示和隐藏{//alert(objid);if (stat=="show"){$(objid).style.display="block";$(objid).style.left=(num*20)+"px";//$(objid).style.top=(num*100)+"px";}else{$(objid).style.display="none";}}var x0=0,y0=0,x1=0,y1=0; var moveable=false; //开始拖动; function startDrag(obj){ if(event.button==1){ obj.setCapture(); var win = obj.parentNode; x0 = event.clientX; y0 = event.clientY; x1 = parseInt(win.offsetLeft); y1 = parseInt(win.offsetTop); moveable = true; } } //拖动; function drag(obj){ if(moveable){ var win = obj.parentNode; win.style.left = x1 + event.clientX - x0; win.style.top = y1 + event.clientY - y0; } } //停止拖动; function stopDrag(obj){ if(moveable){ obj.releaseCapture(); moveable = false; } } </script> </body></html>
2023-07-26 02:51:161

请问大佬们前端data-url怎么实现点击后跳转到data-url网址?

<a href="javascript:;" target="_blank" rel="nofollow">改为<a href="javascript:;" target="_blank" rel="nofollow" onclick="this.href=this.children[0].dataset.url;">所有都要改
2023-07-26 02:51:254

java中getelementbiclass怎么获取子节点

document.getElementsByClassName()或Element.getElementsByClassName,如果你说的是第二种,那么就可以找出子节点中含有此样式的节点。另外,这是Javascript在DOM中的方法,从应用场景来看,通过className很难分辨出父子节点,但还是可以利用offsetParent、parentElement、childElements可以找到它们之间的关系。
2023-07-26 02:51:391

html代码中img标签里的jqimg是什么意思?

jqimg是使用jquery.jqzoom.js插件放大图片使用的属性<div class="jqzoom"><img src="./images/pic_shop.png" style="width:200px; height:200px;" alt="" jqimg="./images/big.jpg" id="bigImg"/></div>
2023-07-26 02:51:472

透明png图片变灰色

ie6下png透明图片的确为灰色,你添加如下js就可以了:function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6. { var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (version < 7) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id="" + img.id + "" " : "" var imgClass = (img.className) ? "class="" + img.className + "" " : "" var imgTitle = (img.title) ? "title="" + img.title + "" " : "title="" + img.alt + "" " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style="" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src="" + img.src + "", sizingMethod="scale");"></span>" img.outerHTML = strNewHTML i = i-1 } } } } window.attachEvent("onload", correctPNG);
2023-07-26 02:51:561

HTML中table的上一个兄弟节和第一个子节点为什么是#text

文本节点也是节点你把换行去掉,就是直接的div了parentElement即可。
2023-07-26 02:52:042

javascript如何为一个节点的子节点添加事件

document.getElementById("aaa").document.getElementsByTagName("p").addEvent("onclick",test);
2023-07-26 02:52:142

如何用js实现点击按钮使table某一单元格变为可编辑状态

获取TABLE中的值可以用下面的代码完成. <html> <head> <script language="javascript"> function doclick() { var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td alert("行号:" + (td.parentElement.rowIndex + 1) + ",内容:" + td.innerText); } </script> </head> <body> <table onclick="doclick()"> <tr> <td> 9:00 </td> <td> 10:00 </td> </tr> <tr> <td> 11:00 </td> <td> 12:00 </td> </tr> </table> </body> </html> 但是你所说的拖动到datagrid 中 形成时间带显示. 这个我看不太懂, 能举例说明 ?
2023-07-26 02:52:293

为何固定表头会偏移?

下面这样就可以了(我只修改了CSS):<html> <head> <title>固定表头 </title> <style type="text/css"> tr.locktr{ position:relative; top:expression((this.offsetParent.scrollTop>this.parentElement.parentElement.offsetTop? this.offsetParent.scrollTop-this.parentElement.parentElement.offsetTop-1:0)-1); left:-1;background-color:blue; } </style> </head> <body> 报表 <br> 2009.3.3 <br> 中国福建 <br> <br> <table border=1 bordercolor="#0000FF" style="border-collapse:collapse" cellpadding=3> <tr class="locktr"> <td bgcolor=gray>固定表头 </td> <td bgcolor=gray>测试 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> </table> </body> </html>
2023-07-26 02:52:481

js怎么找一个子元素的父元素

obj.offsetParent
2023-07-26 02:52:584

myeclipse里面 jsp代码颜色设置?如图上的底色是灰色的,怎么设置为其他颜色!

jsp 提示框颜色设置方法:jsp中可以嵌入通用的js写的弹出框提示,只要根据不同场景传不同参数就可以了。参考代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>弹出窗口(可拖动,背景灰色透明)</title><script type="text/javascript"><!--/*FileName:AlertMsg.jstitle:提示标题content:提示的内容*/document.write("<style type="text/css">*{padding:0; margin:0}.close{float:right;cursor:default}</style>")function $(id){ return document.getElementById(id)}function AlertMsg(title,content){var msgw,msgh,msgbg,msgcolor,bordercolor,titlecolor,titlebg,con;con = "<form><table style="margin:10px 15px 15px 15px; border:0;"><tr><th style="border:0; line-height:22px; padding:3px 0; vertical-align:top;font-weight:bold;">分类:</th><td style="border:0; line-height:22px; padding:3px 0; vertical-align:top;width:75%;"><input type="text" name="typename" size="20"/></td></tr><tr><th></th><td style="border:0; line-height:22px; padding:3px 0; vertical-align:top;width:75%;"><button style="line-height:normal;" type="submit" onclick="return submitform()">确定</button> <button style="line-height:normal;" type="reset">取消</button></td></tr></table></form>";//弹出窗口设置msgw = 300; //窗口宽度msgh = 150; //窗口高度msgbg = "#FFF"; //内容背景msgcolor = "#000"; //内容颜色bordercolor = "#000"; //边框颜色titlecolor = "#FFF"; //标题颜色titlebg = "#369"; //标题背景//遮罩背景设置var sWidth,sHeight;sWidth = screen.availWidth;sHeight = document.body.scrollHeight;//创建遮罩背景var maskObj = document.createElement("div");maskObj.setAttribute("id","maskdiv");maskObj.style.position = "absolute";maskObj.style.top = "0";maskObj.style.left = "0";maskObj.style.background = "#777";maskObj.style.filter = "Alpha(opacity=30);";maskObj.style.opacity = "0.3";maskObj.style.width = sWidth + "px";maskObj.style.height = sHeight + "px";maskObj.style.zIndex = "10000";document.body.appendChild(maskObj);//创建弹出窗口var msgObj = document.createElement("div")msgObj.setAttribute("id","msgdiv");msgObj.style.position ="absolute";msgObj.style.top = (screen.availHeight - msgh) / 4 + "px";msgObj.style.left = (screen.availWidth - msgw) / 2 + "px";msgObj.style.width = msgw + "px";msgObj.style.height = msgh + "px";msgObj.style.fontSize = "12px";msgObj.style.background = msgbg;msgObj.style.border = "1px solid " + bordercolor;msgObj.style.zIndex = "10001";//创建标题var thObj = document.createElement("div");thObj.setAttribute("id","msgth");thObj.className = "DragAble";thObj.style.cursor = "move";thObj.style.padding = "4px 6px";thObj.style.color = titlecolor;thObj.style.background = titlebg;var titleStr = "<a class="close" title="关闭" style="cursor:pointer" onclick="CloseMsg()">关闭</a>"+"<span>"+ title +"</span>";thObj.innerHTML = titleStr;//创建内容var bodyObj = document.createElement("div");bodyObj.setAttribute("id","msgbody");bodyObj.style.padding = "10px";bodyObj.style.lineHeight = "1.5em";bodyObj.innerHTML = con;var txt = document.createTextNode(content)bodyObj.appendChild(txt);//生成窗口document.body.appendChild(msgObj);$("msgdiv").appendChild(thObj);$("msgdiv").appendChild(bodyObj);}function CloseMsg(){//移除对象document.body.removeChild($("maskdiv"));$("msgdiv").removeChild($("msgth"));$("msgdiv").removeChild($("msgbody"));document.body.removeChild($("msgdiv"));}//拖动窗口var ie = document.all; var nn6 = document.getElementById&&!document.all; var isdrag = false; var y,x; var oDragObj; function moveMouse(e) { if (isdrag) { oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px"; oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px"; return false; } } function initDrag(e) { var oDragHandle = nn6 ? e.target : event.srcElement; var topElement = "HTML"; while (oDragHandle.tagName != topElement && oDragHandle.className != "DragAble") { oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement; } if (oDragHandle.className=="DragAble") { isdrag = true; oDragObj = oDragHandle.parentNode; nTY = parseInt(oDragObj.style.top); y = nn6 ? e.clientY : event.clientY; nTX = parseInt(oDragObj.style.left); x = nn6 ? e.clientX : event.clientX; document.onmousemove = moveMouse; return false; } } document.onmousedown = initDrag; document.onmouseup = new Function("isdrag=false"); //--></script></head><body><table width="600" border="0" cellspacing="0" cellpadding="0"><tr ><td height="100" align="center" ><p><a href="javascript:AlertMsg("温馨提示","")">点我试试!</a></p></td></tr></table></div></body></html>
2023-07-26 02:53:391

javascript在使用过程中,浏览器之间存在什么样的差异

基本没什么差异、、但是会有一些属性是个别浏览器特有的,其它浏览器没有。。
2023-07-26 02:54:052

怎样让一个div高度自适应浏览器高度

让一个div高度自适应浏览器高度的方法:1、获取到window的innerHeight、clientHeight根据这两个参数定义div的高度。function resizeElementHeight(element) { var height = 0; var body = window.document.body; if (window.innerHeight) { height = window.innerHeight; } else if (body.parentElement.clientHeight) { height = body.parentElement.clientHeight; } else if (body && body.clientHeight) { height = body.clientHeight; } element.style.height = ((height - element.offsetTop) + "px");}2、定义div的高度的方法:document.getElementById("yourDiv").height = height;
2023-07-26 02:54:152

马太效应的主要内容是什么

简单的说就是富的越富,穷的越穷,强的越强,弱的越弱。马太效应可以归纳于:“任何个体、群体或地区,一旦在某一个方面(如金钱、名誉、地位等)获得成功和进步,就会产生一种积累优势,就会有更多的机会取得更大的成功和进步。”
2023-07-26 02:52:231

作为wwf的成员 怎样拯救老虎英语作文

例文A five-year-old male Tiger was freed from a poacher"s snare on Sunday after it was found by WWF"s Wildlife Protection Unit (WPU) just off a highway that cuts through the Belum-Temengor forest complex in the northern state of Perak.WPU members, who were on a routine patrol on Saturday, detected two men on motorcycles near the site, who fled upon seeing them approach. When the WPU checked the area, they found the Tiger with its right foreleg caught in a wire snare.The Tiger was freed from the snare early Sunday morning by the Department of Wildlife and National Parks (Perhilitan) officers who were called to the scene. The Tiger is being treated by Perhilitan at the Malacca Zoo and vets are hopeful that they might not need to amputate the animal"s leg.Perhilitan Perak Director Shabrina Mohd Shariff said investigations into the case were ongoing and that initial information showed the suspected poachers were from Kelantan.
2023-07-26 02:52:231

惠存是敬词还是谦词 词语惠存是敬词还是谦词

1、惠存指希望别人收下自己的东西,惠字表明别人的高雅大量,所以是自己抬举别人,因此是是敬辞。 2、谦词和敬词都是为了表示尊敬有礼,在交往和称谓中应谦称自己,敬称对方。使用谦称来称呼自己,表现了说话者的谦逊和修养,也是对对方的尊敬。
2023-07-26 02:52:241

什么样的新风系统效果好

首先是配置角度一款新风系统好不好用,主要从以下几个方面来考虑评估。1、外壳材质新风主机的外壳材质最好采用钢制外壳+静电粉末喷涂的工艺,这样可以抗腐蚀,硬度也可以。2、新风主机内壳新风主机的内壳推荐使用EPP一体成型的工艺与材质,这样可以更好的保温降噪,新风机会更加静音。3、风机风机是新风主机的核心部分。一般德国原装的风机比较稳定,除此之外要选择国内祥明等一流品质的风机,关于风机的等级,EC风机>DC风机>AC风机。优先推荐的是德国ebmpapst EC风机,或者国产EC风机,运行更强劲,质量更可靠,更平稳静音。
2023-07-26 02:52:261

路由器的“无线ISP”模式是什么意思?

ISP全称(InternetServiceProvider)即“互联网服务提供商”,即向全国用户提供互联网接入业务、信息业务、和增值业务的电信运营商。长期以来,接入ISP都是用有线的方式(也就是平常的“拨号上网”),带宽一直是限制人们上网速度的一个瓶颈,国际上一些ISP开始开发和使用无线技术来解决这一问题。而“无线ISP”就是以无线的方式接入ISP的业务功能,该业务近年来有很好的上升和应用势头。路由器支持“无线ISP”,也需要ISP的设备支持“无线ISP”,这样才能无线接入宽带上网。以目前国内情况,绝大部分还不支持这一模式。
2023-07-26 02:52:271

ebmpapst风机太贵了,有什么国产风机能替代呢么,有的话,我想购买!

泰锐格系列风机,部分机型完全可以代替EBM.风机,施乐佰风机
2023-07-26 02:52:194

宽带连接Isp名称是指什么

ISP(InternetServiceProvider),互联网服务提供商,即向广大用户综合提供互联网接入业务、信息业务、和增值业务的电信运营商。宽带连接里的ISP名称就是指你的【上网账号】可以在你办理相关业务凭证上看到。
2023-07-26 02:52:171

ebd灯亮了影响行驶吗

ebd灯亮的时候会影响驾驶。ebd灯亮时,说明电子制动力分配控制系统有问题,很可能是传感器和保险丝故障引起的。当出现这种问题时,还是需要及时处理,因为故障很可能导致汽车无法正常行驶。此时,车主应低速谨慎驾驶,并及时前往维修点进行维修。可能很多人对ebd是什么很困惑。ebd的英文名是electronicbrakeforcedistribution,意思是电子制动力分配。下面是ebd灯的具体原因和解决方法:1.当点火开关转到on位置时,应打开几秒钟,然后关闭。ebd灯亮时,电子制动力分配控制系统有问题,很可能是传感器和保险丝故障造成的。2.当制动力分配有问题时,此灯会亮起。出现这种问题时,需要及时处理,因为故障很可能导致汽车以后无法正常行驶。最好避免急刹车,需要尽快去4s店或修理厂保养。
2023-07-26 02:52:171

赠书惠存写在哪

惠存 [huì cún] 敬辞,请保存 。多用于送人相片、书籍等纪念品时所题的上款。 例句: 一点薄礼,不成敬意,望君惠存。 出处: 唐骆宾王《与博昌父老书》:“故可洽赏当年,相欢卒岁;宁复惠存旧好,追思昔游。” 译:唐骆宾王《与博昌父老书》:可以回想当年一起游玩的场景,希望您保存,追思过去的时光。 雅正 [yǎ zhèng] 形容词,有规范的,典雅方正的意思,还是把自己的诗文书画送人时,表示请对方指教的敬辞。 例句: 种少恬静,居处雅正,傍无造请。 出处: 汉 应劭 《风俗通·声音·笛》:“笛者,涤也。所以荡涤邪秽,纳之於雅正也。” 译:汉 应劭 《风俗通·声音·笛》:“笛子,有洗涤的意思。所以没有污秽。希望您收下。” 用法: 1.雅正就是让别人对自己写的书或文章指正,提意见。惠存就是赠书的时候希望对方能够收下和保存。都是文人的客套话,对方不会真的指正的。 2.要根据你对于对方的身份来看。如果他是你的长辈,就应该是雅正,同辈应是惠存,赞同。 3.雅正和惠存这两个词是作家送书给别人时在扉页写的自谦的话。雅正是说请指正,惠存是说感谢您保存。 扩展资料 书法礼貌词: 上款客套语或敬辞: 雅属,雅赏,雅正,雅评,雅鉴,雅教,雅存,珍存,惠存,清鉴,清览,清品,清属,清赏,清正,清及,清教,清玩, 鉴正,敲正,惠正,赐正,斧正,法正,法鉴,博鉴,尊鉴,肠鉴。 法教,博教,大教,大雅,补壁,糊壁,是正,教正,讲正,察正,请正,两正,就正,即正,指正,指 ,鉴之,正之,哂正,笑正,教之,正腕,正举,存念,属粲,一粲,粲正,一笑,笑笑,笑存,笑鉴,属,鉴。 下款客套语或敬辞: 书法题款用:敬书,拜书,谨书,顿首,嘱书,醉书,醉笔,漫笔,戏书,节临,书,录,题,笔,写,临,篆 绘画题款用:敬赠,持赠,画祝,写祝,写奉,顿首,题,并题,戏题,题识,题句,敬识,记,题记,谨记,并题,跋,题跋,拜观,录,并录,赞,自赞,题赞,自嘲,手笔,随笔,戏墨,漫涂,率题,画,写,谨写,敬写,仿
2023-07-26 02:52:161