- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将在这里发布代码笔,以防有人想在上下文中查看整个内容:http://codepen.io/JTBennett/pen/NdLWJy
现在我将尝试提炼这个问题。我有一个单击事件,它根据其字符串值之一从 JSON 对象中进行选择。各种字符串作为文本引入 div,但如果 JSON 对象中的一组字符串包含特定值,我试图使一些隐藏的 div 淡入(我通过在字符串中使用相同的类名使其变得容易值(value)观)。
这是其中一个 JSON 对象的示例:
{
"CSS":"A_Aeolian",
"root":"A",
"scale":"Aeolian",
"name":"A Aeolian",
"type":"Scale",
"structure":"A B C D E F G",
"noteClass_1":"A",
"noteClass_2":"B",
"noteClass_3":"C",
"noteClass_4":"D",
"noteClass_5":"E",
"noteClass_6":"F",
"noteClass_7":"G",
"noteClass_8":""
}
这是我的 jQuery:
$('.A, .As, .B, .C, .Cs, .D, .Ds, .E, .F, .Fs, .G, .Gs').hide();
$.getJSON("https://api.myjson.com/bins/non2t.json", function(data) {
$('.main-btn').on("click", function () {
$('#total-scale-men').empty()
console.log("emptied total-scale-men");
$('.gcMen ul li button').css({'border' : '1px #666 solid',
'color' : '#666'})
$('.scales-men').hide()
$('.scales-men').fadeIn()
$(this).css({'border' : '1px #cc4c4c solid',
'color' : '#cc4c4c'})
var scale = $(this).data('scale')
$.each(data,function(i,data){
if (scale == data.root) {
$('#total-scale-men').append('<button class="scale-btn" data-css="'+ data.CSS +'">' + data.scale + '</button>');
}
});
$('.scale-btn').on("click", function () {
$('.nt').hide()
$('.scales-men').hide()
$('.gcMen ul li button').css({'border' : '1px #666 solid','color' : '#666'})
var css = $(this).data('css')
$.each(data,function(i,data){
var notes = [data.noteClass_1,
data.noteClass_2,
data.noteClass_3,
data.noteClass_4,
data.noteClass_5,
data.noteClass_6,
data.noteClass_7,
data.noteClass_8]
var ntClass = ['.A','.As','.B','.C','.Cs','.D','.Ds','.E','.F','.Fs','.G','.Gs']
if (css == data.CSS) {
$('#inf div:nth-child(1)').text(data.root)
$('#inf div:nth-child(2)').text(data.scale)
$('#inf div:nth-child(3)').text(data.structure)
if (notes[0] == 'A') {
$(ntClass[0]).fadeIn()
}
}
});
})
})
});
您可以看到我将 noteClass 字符串值和 div 类值放入数组中 - 我可以通过使用 if 语句手动选择来选择相应的字符串/类值以在 div 中淡入淡出:
if (notes[0] == 'A') {
$(ntClass[0]).fadeIn()
}
我怎样才能比较两个数组(notes 和 ntClass)的所有值,然后只要匹配,该类就会淡入?
我希望我的意图足够清楚,如果没有,那么也许查看 codepen 会有所帮助 ( http://codepen.io/JTBennett/pen/NdLWJy )
如有任何帮助,我们将不胜感激!
最佳答案
如果我误解了你的问题,请告诉我,但我认为你想这样做:
$("." + notes[0]).fadeIn();
因为你的笔记和你的类(class)之间的唯一区别是它们前面的类(class)点,所以这应该有效。
关于javascript - jQuery + JSON - 如何根据相应的 JSON 字符串选择类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42459180/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!