如何在jquery方法中创建一个if语句
How to make an if statement in jquery method
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
if ( ( item.parent_term_id == "16" ) ) {
.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" )
}
.appendTo( ul );
};
此代码属于 JqueryUi Autofill widget。我希望自动完成文本输入来建议项目的"parent_term_id"等于某物,否则什么也不建议。(这是Wordpress(
但是,如果语句不起作用。知道吗?
.data( "autocomplete" )
._renderItem = function( ul, item ) {
var $li = $( "<li></li>" );
$li.data( "item.autocomplete", item );
if ( ( item.parent_term_id == "16" ) ) {
$li.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" );
}
return $li.appendTo( ul );
});
如果你必须在一行上做(尽管这样做没有意义(:
.data( "autocomplete" )
._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.filter(function () {
return item.parent_term_id == "16";
})
.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" )
.end()
.appendTo( ul );
});
你在jQuery代码中看到的无休止的链接并不总是做某事的最佳方式。
在这里,您最好使用变量:
.data( "autocomplete" )._renderItem = function( ul, item ) {
var li = $( "<li></li>" );
li.data( "item.autocomplete", item );
if ( ( item.parent_term_id == "16" ) ) {
li.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" );
}
li.appendTo( ul );
return li;
};
你可以组合其中的一些,但对于if
,你必须停止执行链式函数调用,这意味着使用 var。
有时,放置一些警报以查看代码中断的位置会很有帮助。此外,如果您认为 if 块没有被调用,您可以尝试简化它或反转逻辑。IE
alert("precondition");
if ( ( item.parent_term_id == "16" ) ) {
alert("in if block!");
li.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" );
}
简化
alert("precondition");
if ( ( item.parent_term_id) ) {
alert("in if block!");
li.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" );
}
反向逻辑
alert("precondition");
if ( ( item.parent_term_id != "16") ) {
alert("in if block!");
li.append( "<a>" + (item.child_term ? item.child_term : + "") + "</a>" );
}
相关文章:
- 当解析树只有一个语句时,如何评估生产“SourceElements:SourceElements SourceEleme
- Vanilla JavaScript:有没有办法在一个语句中切换多个CSS类
- 如何发送一个语句以用作代码中的命令
- 在Javascript中,有没有一种方法可以用一个语句创建一个索引对象数组
- 在javascript的一个语句中声明变量并返回值
- Chrome 的开发工具或 Firebug 中是否存在“设置下一个语句”功能?
- Javascript - 我如何让一个语句工作一次,如果它已经工作了 1 次,则不能工作,然后再次工作
- 我可以把两个骨髓动画序列组合成一个语句,仍然得到相同的结果吗
- 如何在Javascript中以过程化的方式运行一个又一个语句
- 在javascript中,are键值对赋值是一个语句
- 一个语句中有多个加法赋值运算符
- 如何使用单个回显语句显示一个语句以 3 行打印
- 下一个语句在前一个语句结束之前运行
- 在node.js中,我们能否在执行下一个语句之前强制函数调用完成并返回?
- Javascript警告框在执行前一个语句之前显示
- 将if/else合并成一个语句?(Javascript)
- 有多少个问号?和冒号"; "在一个语句解释在javascript?(条件操作符)
- JQuery或JavaScript是否有下一个语句/函数可以跳到循环的下一次迭代
- 为什么我不能在 Backbone 的视图事件中的一个语句中将单个事件绑定到多个选择器
- 如何将包含多个js语句的字符串拆分为一个字符串数组,每个字符串包含一个语句