0
特定の属性を持つ要素を選択したいが、それらの最初の要素が選択されていない限りは何も選択されません。最初の要素が選択されている場合、他の要素が選択されます
$(document).ready(function() {
$("#add").click(function() {
$(".cards").append('<div class="card new" style="width: 20rem;">\
<div class="layer"></div>\
<div class="card-block">\
<h4 class="card-title"></h4>\
<p class="card-text"></p>\
</div>\
<div class="card-block">\
<div class="delete">Del</div>\
<div class="edit" data-toggle="modal" data-target="#note">edit</div>\
</div>\
</div>');
var title = $("#noteTitle").val();
var text = $("#noteBody").val();
var layer = $("#selected").css("background-color");
$(".new .layer").css({"background-color": layer, "position": "absolute", "opacity": ".2", "top":"0", "left":"0", "width": "100%", "height": "100%"});
$(".new h4").html(title);
$(".new p").html(text);
$(".card").removeClass("new");
});
// .toggleClass() didn't work here
$("main").on("click", ".card", function() {
if($(this).css("border") == "1px solid rgba(0, 0, 0, 0.125)") {
$(this).css("border", "solid 2px black");
} else {
$(this).css("border", "1px solid rgba(0, 0, 0, 0.125)");
}
});
//is there a problem below ?
$(".colors").click(function() {
if($(".card").length != 0 && $(".card").css("border").indexOf("2px") != -1)
$('.card[style*="2px"]').find(".layer").css("background-color", $(this).val());
});
と私はなぜtoggleClass()が上で動作しなかったのかわかりません。
これは基本的には何もしないことです。何かをする条件としてCSS、特に色を使用しないで、代わりにクラスを追加してください。あなたのjavascriptの内部に大きなHTMLブロックを書き込まないでください。 – adeneo
私は自分のコードを変更し、クラスを追加して条件として使用していましたが、なぜクラスを使用するのを忘れているのか分かりません。 –