
1、在我们的电脑上打开软件,新建一个html页面。
2、在html页面创建一个id为xx,值为666的文本框,通过varv=documentgetElementById('xx')value;原生js方法来获取文本框的值。
3、在script中加上alert(v);,来d框查看原生js方法是否根据id获取元素的值了。
4、在浏览器中运行项目,可以看到页面d框的值是id为xx的元素的值,已经成功通过原生js方法根据id获取元素。
5、jquery方法需要先添加jqueryjs,然后通过varw=$('#xx')val();来获取元素的值。
6、我们运行项目,在浏览器中可以看到与原生js方法获得元素的值相同。
您好,HTML5规范文档中指出:如果一个元素符合下面两条规则中的任一条,则window对象中必须要有与之对应的一个属性,属性值就是这个对象
如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名
如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个。
> "foo" in window
false
> typeof foo // 这个全局变量到底有木有
object
//错误控制台输出了下面的警告//Element referenced by ID/NAME in the global scope
//Use W3C standard documentgetElementById() instead
> foo
[object HTMLDivElement]
//错误控制台输出了下面的警告//Element referenced by ID/NAME in the global scope
//Use W3C standard documentgetElementById() instead> "foo" in window true
没那么麻烦,使用获取屏幕高度偏移值与p元素的偏移值对比就可以了。(PS:效果在开发工具里看。)
主要代码如下:重新修改了下,兼容性强!!请使用这个。2014-3-18 09:00
<script type="text/javascript">
var pElems=documentgetElementsByTagName("p");for(var i=0;i<pElemslength;i++){//这个循环测试用的,为每个p赋予id序号
pElems[i]id=i;
}
windowonscroll=getP;
windowonresize=getP;
windowonload=getP;
function getP(){
var clientH=windowinnerHeight||documentdocumentElementclientHeight;//窗口课件区域高度
var scrY=windowpageYOffset || documentdocumentElementscrollTop;//窗口偏移量
var scrH=clientH+scrY; //窗口底端的偏移量
for(var i=0;i<pElemslength;i++){
if(pElems[i]offsetTop>scrH){
consolelog("现在是第"+(i)+"段在最后,内容为\""+String(pElems[i-1]innerHTML)substr(0,10)+"\"");
return;
}
}
if(i==pElemslength){
consolelog("现在是第"+(i)+"段在最后,内容为\""+String(pElems[i-1]innerHTML)substr(0,10)+"\"");
}
}
</script>
Thymeleaf的表达式可以在方括号中包含一个字符串或者一个表达式,但并不支持直接使用循环变量来在方括号中取值。
如果你需要根据元素下标取值,可以使用Thymeleaf中的内联 #numbers 序列,定义序列长度并使用 {#numberssequence(0, length - 1)} 来生成下标序列,然后使用 $序号 来获取对应元素的值,如下所示:
Copy code
<tr th:each="index : ${#numberssequence(0, datagetConsumeUp()size() - 1)}">
<td th:text="${datagetConsumeUp()get(index)get(region)}"></td>
</tr>
这里将元素下标的序列放在了 th:each 指令中循环遍历,在内部指令中使用 $ 符号获取对应下标的元素值。
例如,如果 datagetConsumeUp() 返回一个类似List<ConsumeUp>的对象,则每次循环遍历时 $index 的值分别是 0, 1, 2, , n,然后使用 datagetConsumeUp()get(index)get(region) 获取每个元素的属性值。
这样可以避免使用 占位符,也能够实现根据元素下标取值的功能。需要注意的是, #numberssequence() 中的长度参数应该为 datagetConsumeUp()size() - 1,以保证取到的下标序列与元素序列相对应。
function onmousedown(e)
{
var eev=e || event;
var id=evtargetid;//获取鼠标按下对应的对象的id
var result=$("#"+id)hasClass("idDrag");//判断是否有 class是否是="idDrag"
}
1、利用js代码首先创建一个div,documentcreateElement('div');
2、确认div添加位置,可以在某个dom元素后面,或者通过css属性控制具体位置,主要通过left/top等属性控制。
3、确定位置之后,显示div即可。
示例:比如html中有一个文本输入框,我们现在需要在挨着输入框右下角位置显示一个div。
<input type="text" id="city" value="beijing"/>
方法:
function createDiv(){
//首先创建div
var descDiv = documentcreateElement('div');
documentbodyappendChild(descDiv);
//获取输入框dom元素
var text = documentgetElementById('city');
//计算div的确切位置
var seatX = textoffsetLeft + textoffsetWidth;//横坐标
var seatY = textoffsetTop + textoffsetHeight;//纵坐标
//给div设置样式,比如大小、位置
var cssStr = "z-index:5;width:420px;height:300px;background-color:#FFFF99;border:1px solid black;position:absolute;left:"
+ seatX + 'px;top:' + seatY + 'px;';
//将样式添加到div上,显示div
descDivstylecssText = cssStr;
descDivinnerHTML = '这是一个测试的div显示的内容';
descDivid = 'descDiv';
descDivstyledisplay = 'block';
}
以上就是关于js如何获取动态的id全部的内容,包括:js如何获取动态的id、js获取已知id的DOM元素、js 动态获取,当前窗口中最后一个元素的id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)