Javascript 是否可以对JQUERY的对象使用If条件?
这是我的jquery代码->Javascript 是否可以对JQUERY的对象使用If条件?,javascript,jquery,Javascript,Jquery,这是我的jquery代码-> <script type="text/javascript"> $(document).ready(function(){ var countPos=0; var add_button=$('#add_position'); var wrapper=$('#position_fields'); window.console && console.log('Document
<script type="text/javascript">
$(document).ready(function(){
var countPos=0;
var add_button=$('#add_position');
var wrapper=$('#position_fields');
window.console && console.log('Document ready called');
$(add_button).click(function(event){
// http://api.jquery.com/event.preventdefault/
event.preventDefault();
if ( countPos >=9 ) {
alert("Maximum of nine position entries exceeded");
return;
}
countPos++;
window.console && console.log("Adding position "+countPos);
$(wrapper).append(
'<div id="position'+countPos+'"> \
<p>Year: <input type="text" name="year'+countPos+'" value="" /> \
<input type="button" value="-" \
onclick="$(\'#position'+countPos+'\').remove();return false;"></p> \
<textarea name="desc'+countPos+'" rows="8" cols="80"></textarea>\
</div>');
});
});
</script>
$(文档).ready(函数(){
var countPos=0;
变量添加按钮=$(“#添加位置”);
变量包装器=$(“#位置_字段”);
window.console&&console.log('documentready called');
$(添加按钮)。单击(函数(事件){
// http://api.jquery.com/event.preventdefault/
event.preventDefault();
如果(countPos>=9){
警报(“最多超过九个位置条目”);
返回;
}
countPos++;
window.console&&console.log(“添加位置”+countPos);
$(包装器).append(
' \
年份:\
\
\
');
});
});
在上面的代码中,我想在$(add_按钮)之前添加一个if语句。单击(函数(事件)[当用户单击add按钮时,此事件函数将工作]。现在,如果此条件出错,我想添加“else”。是否可以这样做
我已经用这种方式尝试了->
//here I add a If statement with this object
if($(add_button).click(function(event))){
// http://api.jquery.com/event.preventdefault/
event.preventDefault();
if ( countPos >=9 ) {
alert("Maximum of nine position entries exceeded");
return;
}
countPos++;
window.console && console.log("Adding position "+countPos);
$(wrapper).append(
'<div id="position'+countPos+'"> \
<p>Year: <input type="text" name="year'+countPos+'" value="" /> \
<input type="button" value="-" \
onclick="$(\'#position'+countPos+'\').remove();return false;"></p> \
<textarea name="desc'+countPos+'" rows="8" cols="80"></textarea>\
</div>');
});
else{
'<div id="position'+countPos+'"> \
<p>Year: <input type="text" name="year'+countPos+'" value="" /> \
<input type="button" value="-" \
onclick="$(\'#position'+countPos+'\').remove();return false;"></p> \
<textarea name="desc'+countPos+'" rows="8" cols="80"></textarea>\
</div>'
}
//这里我添加了一个带有此对象的If语句
如果($(添加按钮)。单击(函数(事件))){
// http://api.jquery.com/event.preventdefault/
event.preventDefault();
如果(countPos>=9){
警报(“最多超过九个位置条目”);
返回;
}
countPos++;
window.console&&console.log(“添加位置”+countPos);
$(包装器).append(
' \
年份:\
\
\
');
});
否则{
' \
年份:\
\
\
'
}
但是这个代码不起作用。我怎样才能到达目的地?您能通过将
。click()
处理程序放在if
中来解释您要做什么吗?在事件驱动的应用程序中,“如果用户单击其他按钮,则执行其他操作”没有多大意义。你提到“如果这个条件出了问题”-条件是什么?您想检查是否有添加按钮吗?不,先生,我不想检查是否有添加按钮。我想检查用户是否单击add按钮,然后该函数将生成两个动态输入字段。如果用户没有单击“添加”按钮,那么我还希望显示与我在.click()下声明的相同的动态输入字段。@freedomn mSo,为什么需要else块?。你可以问这个问题。我想在else块中添加一些额外的功能,问题是“如果用户不点击”的代码应该在什么时候运行。他们不能立即点击,所以他们可能会在一分钟后、10分钟后点击按钮。您希望在什么时候转到“他们没有单击,所以我将显示输入”?看起来像:当用户单击“添加另一个输入”时,在加载时显示一些输入。只需删除if(…)
包装器(保留事件)、else{
(以及相应的}
s,就可以得到您想要的。