java怎么得到一个元素在数组中的位置

java怎么得到一个元素在数组中的位置,第1张

最简单的办法是遍历数组,检查每一个元素

int i=0;

for(;i<arraylength;i++)

if(array[i]==num)

break;

i 就是该元素在数组中第一次出现的位置(元素可能重复出现)。

具体步骤如下:

1、用list来演示,安装好python与pycharm之后,打开pycharm,新建Test_Listpy。

2、定义lista=('A','B','C','D','E'),使用len函数来判断数组长度,ALT+F10执行后可以看到结果是5,注意获取列表的值用数组名+[序号],例如想要获取第一个值'A',正确的写法是pirnt(lista[0]),注意中括号,且序号是0,数组是自然数排序,第一个序号是0。

3、通过数组名+[序号]可以获取数组里指定位置的元素值,有个前提是指定位置必须小于数组长度,以本例来讲,指定位置必须小于5,如果大于5,就会报长度错(out of range)。

4、在实际应用中,我们经常碰到复杂的数组,例如Listb={'A':0,'B':1,'C':2,'D':3,'E':4},注意我用的是大括号{},同意获取长度,发现长度仍然是5。

5、复杂数组想要获取正确的结果,指定的位置必须是数组索引,例如想要指定A得几分,要用数组名+索引名,写法是print(Listb['A']),即可获取数组中的元素。

有原生DOM获取以及用js库比如jquery

原生DOM的话首先获取标签对象,id或者name或其他

例:

1

<p id="targetp" >2333333</p>

<script>

var element = documentgetElementById("targetp");

var tagname = elementtagName;

alert(tagname);

</script>

jQuery获取

$("#content-header")get(0)tagName

如果已经获取到对象可以直接获取标记名

<p onclick="alert('您单击的是:'+thistagName);">中华人民共和国</p>

判定一个元素的尺寸和位置的最简单的方法是调用它的getBoundingClientRect()方法。返回一个left、top(坐上角)right、bottom(右下角),height、width(ie中没有,但可以用right-left、bottom-top得到),其返回的坐标包含元素的边框和内边距,但不包含元素的外边距。

如果浏览器不支持getBoundingClientRect(),则可以用HTML元素的只读属性offsetWidth、offsetHeight以CSS像素返回它的屏幕尺寸(只包含边框和内边距)

获取页面中元素到文档区域document的横向 纵向坐标的两种方法及其比较

在js控制元素运动的过程中 对于页面元素坐标位置的获取是经常用到的 这里主要总结下两种方法

一 通过叠加元素对象和它的offsetParent(如果存在)的offsetLeft/offsetTop属性来实现

在阅读javascript高级程序设计第三版DOM部分时 了解到要获取某个元素在页面上的偏移量 需要将这个元素的offsetLeft和offsetTop与其offsetParent的相同属性相加 一直循环直至根元素 所以 要得到元素到文档区域的坐标位置 只需通过while循环不断获取offsetParent的offsetLeft/offsetTop直到offsetParent = null为止

js代码

代码如下:

// 获取元素到文档区域的坐标

function getPosition(element) {

var actualLeft = element offsetLeft

actualTop = element offsetTop

current = element offsetParent; // 取得元素的offsetParent

// 一直循环直到根元素

while (current !== null) {

actualLeft += current offsetLeft;

actualTop += current offsetTop;

current = current offsetParent;

}

// 返回包含left top坐标的对象

return {

left: actualLeft

top: actualTop

};

}

例子截图

firebug下测试结果截图 (注 其他浏览器已通过测试!)

二 通过 getBoundingClientRect() 方法实现

getBoundingClientRect方法用于获得页面中某个元素的左 上 右和下分别相对浏览器视窗window的位置 返回的是一个对象 该对象有四个属性 top left right bottom;该方法原本是IE Only的 但是FF +和Opera +已经支持了该方法 可以说在获得页面元素位置上效率有很大的提高 另外 该方法避免使用while循环 而是直接获取数值来实现 比第一种方法性能要好 特别是在复杂的页面上更为明显

js代码

代码如下:

// 获取元素到文档区域的坐标

function getPosition(element){

var dc = document

rec = element getBoundingClientRect()

_x = rec left // 获取元素相对浏览器视窗window的左 上坐标

_y = rec top;

// 与或body元素的滚动距离相加就是元素相对于文档区域document的坐标位置

_x += dc documentElement scrollLeft || dc body scrollLeft;

_y += dc documentElement scrollTop || dc body scrollTop;

return {

left: _x

top: _y

};

}

经测试 该方法与第一种方法获取元素相对于document的坐标大小相同 对于IE低版本浏览器 存在一些差异

注意 记得要累加上(IE除外)或body(针对IE)元素的水平或垂直滚动距离!

lishixinzhi/Article/program/Java/JSP/201311/20207

以上就是关于java怎么得到一个元素在数组中的位置全部的内容,包括:java怎么得到一个元素在数组中的位置、怎么获取数组中的元素、js怎样 获得当前选中位置元素的 html格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9615527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存