我使用jQuery
之类的
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
var box = $('div');
现在,我正尝试使用alert/console.log
attribute['id']
jQuery
div console.log(box[1].attr['id']);
与特定索引位置{ - 1}} -
import urllib2
import json
url2 = 'http://api.openweathermap.org/data/2.5/find?q=london,PK&units=metric'
data = urllib2.urlopen(url2)
# read the contents in and parse the JSON.
jsonData = json.loads(data.read())
# print it out nicely formatted:
print json.dumps(jsonData, sort_keys=True, indent=4, separators=(',', ': '))
但这似乎不起作用。
如何在数组中获取元素的属性,在特定的索引位置实现此目的?
谢谢
答案 0 :(得分:2)
因为那不是正确的语法。
$('div').eq(1).attr('id')
正是您要找的。 p>
答案 1 :(得分:1)
使用eq(n)函数代替数组[]
,或者您可以使用box[0].id;
var box = $('div');
//OPTION 1
alert(box.eq(1).attr('id'));
//OPTION 2
alert(box[1].id);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
答案 2 :(得分:0)
你可以走出jquery上下文并使用vanilla JS :(有人说它效率更高,速度更快?)
console.log($(box)[1].id);
或:
console.log(box[1].id);
或 - '纯'jquery方式:
console.log($(box[1]).attr('id'));
或:
console.log(box.eq(1).attr('id'));
或:
console.log(box.next().attr('id')); //even this works!
可能还有更多方法......啊,选择自由™....
答案 3 :(得分:0)
var box = $('div');
$("div#result1").html(box[1].getAttribute("id"));
$("div#result2").html($(box[1]).attr("id"));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
<div id="result1"></div>
<div id="result2"></div>
&#13;
请试试这个:
console.log($(box[1]).attr('id'));
或
console.log(box[1].getAttribute('id'));
框是一个jQuery对象,但是框[1]是一个HTML元素,它有getAttribute()方法,但没有.attr()方法。 $(box [1])将其转回jQuery对象。