我使用jquery-1.12.4库,并像这样调用eval():
var obj = $(this).find('ul');
if ($(this).prop('class').substring(0,1) == 'c') {
eval(obj.attr('url'));
console.log(obj.prop('url'))
console.log(obj.attr('url'))
} else {
eval(obj.prop('clr'));
obj.html('');
}
我认为回报是一样的,但事实并非如此,他们回来了:
console.log(obj.prop('url')) //undefined
console.log(obj.attr('url')) //req_subfolder('/', '_', '1')
" req_subfolder(' /',' _',' 1')"是我想要的,但为什么我不能用prop()得到我想要的东西?是因为我调用了eval()?
答案 0 :(得分:1)
原因是prop()
检索jQuery对象中Element对象的属性,而url
不是有效属性。
如果你想在一个元素上定义你自己的数据,我建议你改用data-*
,如下所示:
console.log($('div').data('url'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-url="/foobar"></div>