gpt4 book ai didi

JavaScript AND (&&) 运算符给出非法字符错误,然后是另一个错误

转载 作者:搜寻专家 更新时间:2023-11-01 04:41:04 25 4
gpt4 key购买 nike

我正在构建一个代码块并遇到了一个问题,这让我很好奇为什么 & 符号不会从 WordPress 文本编辑器 View 中进行编码。此代码按预期工作,当它通过文本编辑器直接嵌入到页面中时,会为我提供我正在寻找的警报:

// This code works as expected
<script>
jQuery(document).ready(function() {
if (jQuery('select[name=idx-q-PropertyTypes]:first').val()=='') {alert ('it exists');} else {alert ('cant find it');}
jQuery('.dsidx-resp-area-submit input').click(function(e){
alert ("you clicked it");
if (jQuery('select[name=idx-q-PropertyTypes]:first').val()=='') {
alert ('There were no search parameters.');
e.preventDefault();
}
});
});
</script>

接下来我要做的是检查条件是否一致。所以我将代码更改为:

// This code gives errors 
<script>
jQuery(document).ready(function() {
if (jQuery('select[name=idx-q-PropertyTypes]:first').val()=='') {alert ('it exists');} else {alert ('cant find it');}
jQuery('.dsidx-resp-area-submit input').click(function(e){
alert ("you clicked it");
if (
jQuery('select[name=idx-q-PropertyTypes]:first').val()=='' &&
jQuery('select[name=idx-q-Cities]:first').val()=='' &&
jQuery('input[name=idx-q-PriceMin]:first').val()=='' &&
jQuery('input[name=idx-q-PriceMax]:first').val()=='' &&
jQuery('select[name=idx-q-BedsMin]:first').val()=='' &&
jQuery('select[name=idx-q-BathsMin]:first').val()=='' &&
jQuery('input[name=idx-q-ImprovedSqFtMin]:first').val()==''
) {
alert ('There were no search parameters.');
e.preventDefault();
}
});
});
</script>

我最初得到的错误是我使用了非法字符。当我在调试器中查找时,它是双符号。它们显示为 &。所以,接下来我尝试用 & 替换所有这些,但没有用。像那样替换它们之后,我收到一个新错误,指出条件语句缺少右括号。为了解决这个问题,我尝试在末尾添加一个括号,将每个条件括在一组括号中,并将整个条件写在一行中,每个依次轮流,但没有一个起作用。我也将它作为 this question 插入 fiddle 中建议,但这也没有用。像那样替换它们之后,我收到一个新错误,指出条件语句缺少右括号。为了解决这个问题,我尝试在末尾添加一个括号,将每个条件括在一组括号中,并将整个条件写在一行中,每个顺序依次进行,但都不起作用。

当我链接到作为外部文件的脚本时,& 符号正确编码并且整个脚本工作。有谁知道为什么会这样,如果我想像最初尝试的那样嵌入脚本,是否有解决此问题的方法?

最佳答案

因此,您需要在 CDATA 中编写脚本,但如果您不想这样做,如果您不想更改代码,只需执行此操作即可。

var val=jQuery('select[name=idx-q-PropertyTypes]:first').val() +
jQuery('select[name=idx-q-Cities]:first').val() +
jQuery('input[name=idx-q-PriceMin]:first').val() +
jQuery('input[name=idx-q-PriceMax]:first').val() +
jQuery('select[name=idx-q-BedsMin]:first').val() +
jQuery('select[name=idx-q-BathsMin]:first').val() +
jQuery('input[name=idx-q-ImprovedSqFtMin]:first').val();
if (val=="") ...

备选方案:

var isEmpty = $('[name^=idx-q]:first')
.filter(
function() {
return $(this).val() != "";
}
)
.length==0;

关于JavaScript AND (&&) 运算符给出非法字符错误,然后是另一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30004455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com