Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有数据属性的If语句-根据单击的产品加载两个不同的模板_Javascript_Jquery_Json_Xml - Fatal编程技术网

Javascript 带有数据属性的If语句-根据单击的产品加载两个不同的模板

Javascript 带有数据属性的If语句-根据单击的产品加载两个不同的模板,javascript,jquery,json,xml,Javascript,Jquery,Json,Xml,我想根据数据属性打开两个模板,如果品牌是SIM,那么打开模板1,如果三星打开另一个 这是我的密码: $('.item .show-detail').click(function(){ if($(this).find('[data-brand="SIM"]')) { var myLink1 = $(this); alert('hey'); $('.content .row').fadeOut({complete: function(){det

我想根据数据属性打开两个模板,如果品牌是SIM,那么打开模板1,如果三星打开另一个

这是我的密码:

$('.item .show-detail').click(function(){
    if($(this).find('[data-brand="SIM"]')) {
        var myLink1 = $(this);
        alert('hey');
        $('.content .row').fadeOut({complete: function(){detailTemplate1('Voice',$(myLink1).parent().data('brand'), $(myLink1).parent().data('model'), $(myLink1).parent().data('subcat')); $('.content .row').fadeIn(400)}});
    }else
        ($(this).find('[data-brand="Samsung"]'))
        var myLink = $(this);
        alert('link All');
        $('.content .row').fadeOut({complete: function(){detailTemplate('Voice',$(myLink).parent().data('brand'), $(myLink).parent().data('model'), $(myLink).parent().data('subcat')); $('.content .row').fadeIn(400)}});
})

jquery对象总是真实的,您需要检查长度

if($(this).find('[data-brand="SIM"]').length)

第二个else没有一个子句。如果代码中有很多问题,您需要删除它或使用else

  • 不能为
    else
    指定条件,如果
  • else(如果
    块)换行到图括号中
  • 使用
    length
    查找元素是否存在
  • 这是假设数据品牌存在于您所单击的
    项目
    元素中:

    $(document).ready(function(){
    
    
        $('.item').click(function(){
    
                if( $(this).find('[data-brand="SIM"]').length ) {
                    var myLink1 = $(this);
                    alert('SIM');
                }
                else if ( $(this).find('[data-brand="Samsung"]').length ) {
                    var myLink = $(this);
                    alert('Samsung');
                }
    
        });
    });
    
    试试这个

    $(document).ready(function(){
        $('.item .show-detail').click(function(){
            if($(this).attr("data-brand")=="SIM")
                alert("SIM");
            else if($(this).attr("data-brand")=="Samsung")
                alert("Samsung");
       });
    });
    

    使用jquery attr方法查找其值并执行相关工作

    它是如何工作的,是否有任何错误消息?问题是,如果我单击Sim或Samsung,它会显示导致加载两个条件的第一个模板的所有警报您没有正确包装else语句,或者它应该是else-if?小提琴可以工作,但当我在脚本中添加它时,它不工作,因为我有$('.item.show detail')。单击(function()