我的JavaScript if语句无法正常工作。保持虚假,我无法弄清楚原因。我不想在发布这篇文章时把我的文字信息放在这里,但不多说。这是我的代码。
应该返回true,因为am-pm等于true?
的JavaScript
$(function($) {
$('.wordpress-timezone-js-time').each(function() {
var myUtc = $(this).data('utc');
var myUtcOffset = $(this).data('utc-offset');
var myAmPm = $(this).data('am-pm');
if (myAmPm == 'true'){
var amPmSet = '%I:%M:%S %p'; // 12 hour
} else {
var amPmSet = '%H:%M:%S'; // 24 hour
}
$(this).jclock({
utc: myUtc ,
utcOffset: myUtcOffset ,
format: amPmSet,
})
})
});
HTML元素
<p>EST: <span class="wordpress-timezone-js-time" data-utc="true" data-utc-offset="-5" am-pm="true"></span></p>
提前致谢!
答案 0 :(得分:0)
如果您需要检索属性值,请使用attr
函数,即:
$(this).attr('am-pm')
编辑,完整性:
或者,正如其他人所建议的那样,您可以将am-pm
更改为data-am-pm
并保持通话$(this).data('am-pm')
。
答案 1 :(得分:0)
将您的代码更改为此代码。
<p>EST: <span class="wordpress-timezone-js-time" data-utc="true" data-utc-offset="-5" data-am-pm="true"></span></p>
如果您使用数据属性来获取javascript中的数据,则而不是“am-pm”将其设置为“data-am-pm”。否则$(this).attr('am-pm')是正确的。