Javascript 如果条件在jquery中不起作用

Javascript 如果条件在jquery中不起作用,javascript,jquery,html,Javascript,Jquery,Html,我有一个jquery函数和一个javascript函数。单击一个链接,我想首先运行jquery函数,如果返回true,那么它应该调用javascript函数 html文件 <a href="javascript:void()" onclick="return $('#a').click() ? addInput(): true" > <a href="javascript:void()" > Jquery函数 $(function () { $('a')

我有一个jquery函数和一个javascript函数。单击一个链接,我想首先运行jquery函数,如果返回true,那么它应该调用javascript函数

html文件

<a href="javascript:void()" onclick="return $('#a').click() ? addInput(): true" >
<a href="javascript:void()" >

Jquery函数

$(function () {

    $('a').click(function () {
        var clickCount = jQuery.data(this, 'clickCount');
        if (!clickCount) {
            clickCount = 0
        }
        clickCount++;
        jQuery.data(this, 'clickCount', clickCount);
        alert(clickCount);
        if (clickCount < 4) {
            return true;
        } else {
            return false;
        }
    });

});
<script type="text/javascript">
        $(document).ready(function(){

        $('a').click(function(event)
        {
            var clickCount = jQuery.data( this, 'clickCount');                        
            if (!clickCount)
            {
                clickCount  = 0
            }        
        clickCount++;       
        jQuery.data( this, 'clickCount',clickCount);

        if(clickCount<4)
        {
            //Do  something
        }
        else
        {
            event.preventDefault();
        }
});
$(函数(){
$('a')。单击(函数(){
var clickCount=jQuery.data(这是“clickCount”);
如果(!单击计数){
单击计数=0
}
点击计数++;
数据(这是'clickCount',clickCount);
警报(点击计数);
如果(单击计数<4){
返回true;
}否则{
返回false;
}
});
});
Javascript函数

<script>
#.. do something
</script>

#.. 做点什么
我的问题是jquery中的if条件不起作用。但是javascript函数被调用,javascript函数工作正常

我做错了吗

我该怎么做

提前感谢

html文件

<a href="javascript:void()" onclick="return $('#a').click() ? addInput(): true" >
<a href="javascript:void()" >

Jquery函数

$(function () {

    $('a').click(function () {
        var clickCount = jQuery.data(this, 'clickCount');
        if (!clickCount) {
            clickCount = 0
        }
        clickCount++;
        jQuery.data(this, 'clickCount', clickCount);
        alert(clickCount);
        if (clickCount < 4) {
            return true;
        } else {
            return false;
        }
    });

});
<script type="text/javascript">
        $(document).ready(function(){

        $('a').click(function(event)
        {
            var clickCount = jQuery.data( this, 'clickCount');                        
            if (!clickCount)
            {
                clickCount  = 0
            }        
        clickCount++;       
        jQuery.data( this, 'clickCount',clickCount);

        if(clickCount<4)
        {
            //Do  something
        }
        else
        {
            event.preventDefault();
        }
});

$(文档).ready(函数(){
$('a')。单击(函数(事件)
{
var clickCount=jQuery.data(这是“clickCount”);
如果(!单击计数)
{
单击计数=0
}        
点击计数++;
数据(这是'clickCount',clickCount);

如果(单击计数为什么不从单击事件处理程序调用
addInput()
。如下所示:

<a href="javascript:void()">

<script type="text/javascript">
    $(function(){

    $('a').click(function()
    {
        var clickCount = jQuery.data( this, 'clickCount');                        
        if (!clickCount)
        {
            clickCount  = 0
        }        
    clickCount++;       
    jQuery.data( this, 'clickCount',clickCount);
    alert(clickCount);
    if(clickCount<4)
    {
        return addInput();
    }
    else
    {
        return false;
    }
  });
});
</script>

$(函数(){
$('a')。单击(函数()
{
var clickCount=jQuery.data(这是“clickCount”);
如果(!单击计数)
{
单击计数=0
}        
点击计数++;
数据(这是'clickCount',clickCount);
警报(点击计数);
如果(单击计数为什么不这样做

HTML:


jQuery:

$(function() {
    $('a').click(function(e) {
        e.preventDefault();
        var clickCount = jQuery.data( this, 'clickCount');                        
        if (!clickCount) {
            clickCount  = 0
        }        
        clickCount++;       
        jQuery.data( this, 'clickCount',clickCount);
        alert(clickCount);
        if(clickCount<4) {
            addInput();
        }
    });
});
$(函数(){
$('a')。单击(函数(e){
e、 预防默认值();
var clickCount=jQuery.data(这是“clickCount”);
如果(!单击计数){
单击计数=0
}        
点击计数++;
数据(这是'clickCount',clickCount);
警报(点击计数);

如果(clickCount那么您不需要将
onclick=“return$('a').click()?addInput():true”
放在锚标记中。因为如果您提到
$('a')。请单击(function(){}
在jQuery中,这意味着无论何时单击链接,都将调用此函数。因此,您可以直接从jQuery中调用
addInput()

您错过了一个;在
单击count=0

.click()
(无参数)而不是从jQuery函数返回
true/false
触发事件处理程序,但它返回您调用它的jQuery对象。jQuery使用处理程序函数的返回值来决定是否停止事件传播并防止默认行为。(顺便说一下,“jQuery函数”是JavaScript函数。jQuery不是一种单独的语言。)这是如何解决问题的?缺少分号实际上不是一个语法错误,该行可以使用或不使用它。。。