带有data属性-的If语句根据所点击的产品加载两个不同的模板
If Statements with data attribute - load two different templates based on what product has been clicked
我想根据data属性打开两个模板,如果品牌是SIM则打开template1,如果三星打开另一个。
下面是我的代码:$('.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)}});
})
您的代码中有很多问题。
- 你不能为
else
指定条件,你必须说else if
- 将
else if
块包裹在括号中。 - 使用
length
查找元素是否存在
这是假设数据品牌存在于你点击的item
元素:
$(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');
}
});
});
http://jsfiddle.net/f32epg16/jquery对象总是真实的,需要检查长度。
if($(this).find('[data-brand="SIM"]').length)
第二个else没有子句。你需要删除它或者使用else if
试试这个
$(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方法查找它的值并做相应的工作
相关文章:
- 加载两个具有相同父密钥名称的json文件
- 加载两个脚本块(使用lab.js作为加载管理器)
- 通过单击JSP和javascript加载两个返回函数
- 你能写一些javascript,根据URL参数加载两个独立的index.html页面吗
- 如何使用用户输入中的 three.js 在场景中加载两个或多个 .obj 对象
- 如何处理未捕获的类型错误: $(..).弹出框不是加载两个jQuery文件时的函数
- Jquery TypeError - “$(..).加载两个库时,什么都不是函数”
- 轨道:Can't在我的页面中加载两个Jquery脚本
- 可以't在相同的局部视图Angularjs中加载两个控制器
- 在执行一段代码之前,必须加载两个ExtJS存储
- 在单个页面中加载两个requireJs应用程序
- 通过AJAX一次加载两个视频
- 如何用javascript编写有条件地加载两个不同css文件的代码
- jquery-json加载两个变量
- 根据条件加载两个不同的json
- 一次加载两个HTML文档(从字符串加载iframe内容)
- 并行加载两个页面并合并结果
- 如何在页面加载两个活动引导手风琴
- 在一个页面中加载两个js函数
- 带有data属性-的If语句根据所点击的产品加载两个不同的模板