我想将select选项与文本内容进行比较。它能实现吗?尽管字符串相同,但在比较时它们并不匹配。
<div id="dateRange">
<p>27 Nov 2016_26 Dec 2016</p>
</div>
和选择选项如:
<select id="dateRangeSelect" onchange="showHideForms(this);"><option value="27 Nov 2016_26 Dec 2016" selected>nov-dec</option></select>
我正在比较Jquery中的:
$("#dateRangeSelect").val() and $("#dateRange").text()
虽然它们在控制台输出中看起来相同,但是如果条件不匹配则不匹配 可以对可能出现的问题发表评论。
答案 0 :(得分:3)
尝试不比较$("#dateRange").text()
,因为它还会将p
标记作为文本返回。所以将其更改为$("#dateRange p").text()
console.log($("#dateRangeSelect").val());
console.log($("#dateRange p").text());
console.log($("#dateRangeSelect").val() === $("#dateRange p").text());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dateRange">
<p>27 Nov 2016_26 Dec 2016</p>
</div>
<select id="dateRangeSelect" onchange="showHideForms(this);"><option value="27 Nov 2016_26 Dec 2016" selected>nov-dec</option></select>
&#13;
答案 1 :(得分:1)
需要将p
标记内的文字与值进行比较。还可以使用.trim()删除任何空格
($("#dateRangeSelect").val()=== $("#dateRange p").text().trim())
答案 2 :(得分:0)
使用日期解析来比较这样的日期
Date.parse($("#dateRangeSelect").val()) === Date.parse($("#dateRange").text())