使用我的CMS,我可以为我的活动创建一些自定义字段。我想要两个自定义字段,注册状态和注册网址。
注册状态字段是具有两个值的多选单选按钮,立即注册和即将推出。注册网址只是一个输入注册链接的文本字段。
我可以在我的活动中输出这两个字段,但不是仅显示文字,而是将“立即注册”与注册网址超链接,但我希望只有在“立即注册”时才会发生这种情况。 #39;被选为状态。
这是我的标记输出的样子:
<div class="RegStatus">Register Now</div>
<div class="RegUrl">https://www.someRegistrationLink.com</div>
如果活动的状态即将到来并且未提供注册链接,那么它将如下所示:
<div class="RegStatus">Coming Soon</div>
<div class="RegUrl"></div>
上面的两个元素可以被CSS隐藏,我也有这个元素,它将被jQuery更改:
<div class="RegBox"><a class="RegButton"></a></div>
现在,我有这个场景:
var getRegStatus = $('.RegStatus').text();
var getRegUrl = $('.RegUrl').text();
if (getRegStatus === 'Register Now') {
$('.RegBox a.RegButton').text('Register Now').attr('href', getRegUrl);
}
它可以正常工作但很容易出错,就像用户选择立即注册状态并忘记提供注册URL一样,反之亦然。在执行语句之前是否可以确保满足两个条件?像IF这样的状态是&#34;立即注册&#34;如果提供了网址,则执行此操作。
答案 0 :(得分:0)
将if (getRegStatus === 'Register Now')
替换为
if (getRegStatus === 'Register Now' && getRegUrl.length)