【发布时间】:2020-02-07 18:35:19
【问题描述】:
我发现了很多关于如何转义 css 中具有其他含义的字符的示例。但是我找不到逃避或忽略其他语言字符的方法。
这是我的代码:
$("input[value='aaabbbcccż uuuąaaę']").change(function() {
console.log('change event fired');
if (this.checked) {
$('#text-block').fadeIn('slow');
} else {
$('#text-block').fadeOut('slow');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="wpcf7-form-control wpcf7-checkbox"><span class="wpcf7-list-item first">
<input type="checkbox"
name="choose-what-pl[]" value="aaabbbcccż uuuąaaę">
<span class="wpcf7-list-item-label">Option A</span></span>
<span class="wpcf7-list-item"><input type="checkbox"
name="choose-what-pl[]" value="aaaa bbb ę dsfsd jiojuoi sdfds lłdsóą">
<span
class="wpcf7-list-item-label">option X</span></span>
<span class="wpcf7-list-item last">
<input type="checkbox" name="choose-what-pl[]"
value="safas łsdfs xc óxzc ż">
<span class="wpcf7-list-item-label">Option Y</span></span>
</span>ł
此代码不起作用。
但是,如果我更改 html 并给出 aaabbbcccz uuuaaae 的值,则以下代码有效:
$("input[value='aaabbbcccz uuuaaae']").change(function(){
if (this.checked) {
$('#text-block').fadeIn('slow');
}
else {
$('#text-block').fadeOut('slow');
}
});
这里是示例 HTML:
问题是我无法更改 HTML,我只能通过 value 访问复选框,因为它是大量复选框中唯一更改的元素。
我还检查了不同的选择器 * ~ ^ 等。但我找不到任何可以帮助的。
托管表单和 .js 文件的网站确实位于头部:
<meta charset="UTF-8" />
请建议我如何解决这个问题。
【问题讨论】:
-
我认为这可以帮助你:stackoverflow.com/questions/4618434/…
-
-
@HereticMonkey 我在操作中提供了一个示例 html。
-
@Bonfire 这似乎改变了值,但是如果它改变了它们,与 DOM 的比较将不起作用,因为在 DOM 中有这样的字符。
-
是没有选中复选框还是无法淡入/淡出?而不是 .checked 你应该使用 .prop('checked')
标签: jquery