我有一个包含类别按钮的范围,单击时,子范围按钮将添加到父范围内.它的目的是当再次单击类别按钮时,如果已经填充了子类别,它应该删除它们,如下所示:
$('.catBtns').on('click', function() {
var catId = parseInt(this.id);
if ($('#' + catId).parent().find('button').length <= 1) {
$.each(data.category[catId].subcategory, function(i) {
$('<button class="subcatBtns" id="'
+ data.category[catId].subcategory[i].subcategoryId + '">'
+ data.category[catId].subcategory[i].subcategoryName.split('<--name-->')[currentLang]
+ '</button>').appendTo($('#' + catId).parent());
i++;
});
} else {
$('#' + catId).parent().remove('.subcatBtns');
}
});
Run Code Online (Sandbox Code Playgroud)
到目前为止没有运气.为什么我无法从类别按钮的父元素中删除类subcatBtns的所有元素?remove()方法的jquery API有这个例子:
$( "div" ).remove( ".hello" );
Run Code Online (Sandbox Code Playgroud)
是因为之前的parent()方法吗?我应该只是在跨度中添加特定的ID而不是通过孩子的ID来选择它吗?HTML非常简单,这里:
<nav id="nav">
<img src="img/resources/logo.png" alt="logo" id="logoMenu">
<span id="span0" class="catSpan">
<button class="catBtns" id="0">EN-0</button>
<button class="subcatBtns" id="000">EN-000</button>
<button class="subcatBtns" id="001">EN-001</button>
</span>
<span id="span1" class="catSpan">
<button class="catBtns" id="1">EN-1</button>
</span>
<span id="span2" class="catSpan">
<button class="catBtns" …Run Code Online (Sandbox Code Playgroud) 我认为这是不可能的,但我会问我们的巫师社区,也许有人有窍门。
当有人重新加载页面两次以上时,客户端想要在我的 js 注入平台上触发一个事件。他拒绝在 onbeforeonload 的 cookie 上设置一个值,或者在服务器端有一些可以计数的东西。
有人知道在客户端计算页面重新加载的方法吗?
关于这个主题有几个问题,但它们似乎都没有解决这个特定问题,关于 JSON Schema 的文档也没有,所以可能无法完成。
问题是我有一个数组,可以将 4 个字符串中的任何一个作为值,使用此模式很容易实现:
...
"attributes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"controls",
"autoplay",
"muted",
"loop"
]
},
"additionalItems": false
}
...
Run Code Online (Sandbox Code Playgroud)
所以数组中的值只能是这四个值之一。尽管如此,“控件”必须始终是数组的一部分,而其他三个是可选的。如果它是一个对象数组,我们可以将其设为必需,但我不确定如何检查具有特定值的数组。
谢谢你的帮助!
我正在尝试设置一个覆盖片段,该片段会在触摸按钮时显示,而在再次单击按钮时消失。我不是在使用支持库片段,而是常规类。因此,当您单击按钮以附加片段时,它会执行以下操作,代码如下:
boolean hasNativeFrag = false;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.native_chat) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
NativeFragment nativeFragment = new NativeFragment();
//Add/remove fragment
if (!hasNativeFrag) {
getFragmentManager().executePendingTransactions();
fragmentTransaction.add(R.id.FragmentContainer, nativeFragment);
hasNativeFrag = true;
}
if(nativeFragment.isVisible()){
fragmentTransaction.hide(nativeFragment);
}
else {
fragmentTransaction.show(nativeFragment);
}
fragmentTransaction.commit();
}
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我再次单击该按钮时,我希望if条件能够运行,因为它现在可见,并且应该将其隐藏。尽管如此,nativeFragment.isVisible()始终返回false。我究竟做错了什么?
谢谢一大堆
更新1:无法使其与答案提出的任何方法一起使用,但是一个简单的布尔值至少会在它们之间进行切换,如下所示:
boolean hasNativeFrag = false;
boolean isNativeFragShown = false;
@Override
public boolean onOptionsItemSelected(MenuItem …Run Code Online (Sandbox Code Playgroud) javascript ×2
android ×1
arrays ×1
html ×1
java ×1
jquery ×1
json ×1
jsonschema ×1
validation ×1