JavaScript与jQuery获取相邻控件

       原始代码如下,需求是onclick中的OpenIframe方法捕捉到input中的value值,由于某些限制无法使用正常的操作dom根据name值来取,所以决定通过相邻空间的方式获取

<div>
	<ul>
		<li>
			<span onclick="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也抓捕到,很是奇怪。

你可能感兴趣的:(JavaScript,jquery)