它的行为不正确,因为您的 div 是 rtl,但您的标签是英文的,这是一种 ltr 语言。在诸如希伯来语之类的 RTL 语言中使用标签也可以自然地解决问题,并且在 RTL div 中,您可能无论如何都需要 RTL 语言中的标签。
这是一个例子:
<div dir="rtl">
<input name="group" id="group1" type="radio" value="group1" />
<label for="group1">קבוצה א</label>
<input name="group" id="group2" type="radio" value="group2" />
<label for="group2">קבוצה ב</label>
<input name="group" id="group3" type="radio" value="group3" />
<label for="group3">קבוצה ג</label>
<input name="group" id="group4" type="radio" value="group4" />
<label for="group4">קבוצה ד</label>
</div>
<input type="button" onclick="alert($('input[type=radio]:checked').val())" value="click" />
如果你需要一个带有非 RTL 标签的 RTL div,你也可以使用双向隔离:
<div dir="rtl">
<input name="group" id="group1" type="radio" value="group1" />
<label for="group1" style="unicode-bidi: -moz-isolate; unicode-bidi: -webkit-isolate; unicode-bidi: isolate;">group1</label>
<input name="group" id="group2" type="radio" value="group2" />
<label for="group2" style="unicode-bidi: -moz-isolate; unicode-bidi: -webkit-isolate; unicode-bidi: isolate;">group2</label>
<input name="group" id="group3" type="radio" value="group3" />
<label for="group3" style="unicode-bidi: -moz-isolate; unicode-bidi: -webkit-isolate; unicode-bidi: isolate;">group3</label>
<input name="group" id="group4" type="radio" value="group4" />
<label for="group4" style="unicode-bidi: -moz-isolate; unicode-bidi: -webkit-isolate; unicode-bidi: isolate;">group4</label>
</div>
<input type="button" onclick="alert($('input[type=radio]:checked').val())" value="click" />
注意样式规范。
这个解决方案比添加 更优雅,但不幸的是它在 Microsoft Internet Explorer 中不起作用。