原始代码如下,需求是onclick中的OpenIframe方法捕捉到input中的value值,由于某些限制无法使用正常的操作dom根据name值来取,所以决定通过相邻空间的方式获取
<div>
<ul>
<li>
<span οnclick="OpenIframe(this)">苏州市</span>
<input name="cityValue" type="hidden" value="c0e571df-a42b-e511-940f-f2a4ea887c69">
</li>
</ul>
</div>
JS抓取方式如下
function OpenIframe(obj) {
alert(obj.nextSibling.value);
}
Jquery抓取方式如下
function OpenIframe(obj) {
alert($(obj).next().val());
}
在使用Jquery的过程中遇到了些小麻烦,按理说在span标签的click事件触发时用$(this)也是能抓到自身的,那$(this).next().val()是可以抓到input的value值的,但此处的 $(this).next()或者是$(this).parents()始终抓不到任何东西,哪怕是在next和parents上指定selector也抓捕到,很是奇怪。