选择元素旁边的文本(几乎)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择元素旁边的文本(几乎)相关的知识,希望对你有一定的参考价值。
我需要在标签中包含一个单选按钮和旁边的文本,以便更加用户友好。
几天前我遇到了类似的问题,我有一个复选框,并且在我有一个span元素之后。我可以包装这两个元素。
我有这个html:
<span class="Attribute">
<input type="radio" name="vMONHRDREM" value="S">
<script type="text/javascript">gx.dom.setAttribute("vMONHRDREM","gxoch0","if(!(gx.evt.jsEvent(this))) return false;");</script>
Ativado
<input type="radio" name="vMONHRDREM" value="N">
<script type="text/javascript">gx.dom.setAttribute("vMONHRDREM","gxoch0","if(!(gx.evt.jsEvent(this))) return false;");</script>
Desativado
</span>
不幸的是,我无法更改HTML结构,因为我使用生成页面的工具。
我正在尝试做这样的事情:
$("input[type=radio]").each(function(){
alert($(this).next().next().text());
});
但它不起作用。它没有返回任何东西。如果我改为$(this).next().text()
,我会得到脚本文本。
答案
输入元素没有文本内容,你有的是流氓文本节点,你需要将它们与输入一起定位,然后用标签标签包装它们:
$('.Attribute input[type="radio"]').each(function() {
$(this).addBack()
.add($(this).next('script')[0].nextSibling)
.wrapAll('<label></label>');
});
另一答案
$("input[type=radio]").each(function(){
var text = $(this).next().get(0).nextSibling.nodeValue;
});
以上是关于选择元素旁边的文本(几乎)的主要内容,如果未能解决你的问题,请参考以下文章