如何将Cookie值存入无name和id属性的隐藏输入框?
嘿,我完全懂你的烦恼!原来的代码靠input[name='fieldname']定位输入框,但当输入框没有name或id属性时,这种方法就失效了。不过别担心,咱们可以利用它的父元素来精准定位——毕竟你已经知道父元素的类名是organic_source了呀!
解决思路
既然隐藏输入框是带有organic_source类的<p>标签的直接子元素,咱们可以通过父元素+子元素类型的选择器来找到它。具体来说,用document.querySelector(".organic_source input[type='hidden']")就能准确选中目标输入框,不需要依赖name或id属性。
修改后的完整代码
<p class="form-field organic_source pd-hidden hidden"> <input type="hidden" value=""> </p> <script> function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i <ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } // 替换原来的定位代码,通过父元素类名找到子输入框 document.querySelector(".organic_source input[type='hidden']").value = getCookie("organic_source"); </script>
补充说明
.organic_source:先选中拥有这个类的<p>父元素input[type='hidden']:在父元素的子元素中筛选出类型为hidden的输入框
这样的选择器足够精准,能确保你找到的就是目标输入框,不会误选其他元素。
备注:内容来源于stack exchange,提问作者Brandon Orndorff
相关产品推荐
相关产品推荐

