我正在尝试更改动态创建的div h3
中.card
的颜色,但是,当我重新加载页面时,它会将其值设置为默认值。
这就是我尝试更改参数中color
是要应用于h3
所需颜色的颜色的方法。
点击按钮,我正在创建卡片:
function createCard(id, title, ...) {
// Creates a main card div
var $cardDiv = $('<div>', {
class: 'col-md-12 card',
"card-id": id
});
// h3 tag with title of note
var $title = $('<h3>', {
"data-toggle": 'modal',
"data-target": '#update',
click: function() {
updateModal(id, title, note);
}
}).text(title);
// Append to card
$cardDiv.append($title);
}
在此之后,我正在调用cardScheme
方法:
cardScheme('#29ABDA');
function cardScheme(color) {
$('.card h3').css('color', color);
}
我意识到JavaScript / jQuery无法找到.card
类,因为这些卡是动态创建的。
var cards = document.getElementsByClassName('card');
for (var i in cards) {
console.log('cards', cards[i]);
}
// returned {cards, 0}
如何更改h3
的颜色?
答案 0 :(得分:2)
您可以在cardScheme('#29ABDA');
方法中调用createCard
,如下所示。
注意:我无法看到您将动态div $cardDiv
附加到文档的位置,我的意思是另一个现有的div
或{{1} }。
工作body
:
snippet
&#13;
function cardScheme(color) {
$('.card h3').css('color', color);
}
function createCard(id, title, note) {
// Creates a main card div
var $cardDiv = $('<div>', {
class: 'col-md-12 card',
"card-id": id
});
// h3 tag with title of note
var $title = $('<h3>', {
"data-toggle": 'modal',
"data-target": '#update',
click: function() {
updateModal(id, title, note);
}
}).text(title);
// Append to card
$cardDiv.append($title);
$('#container').append($cardDiv);
cardScheme('#29ABDA');
}
setTimeout(function(){
createCard('test', 'testTitle', 'test note');
}, 2000); // after 2 seconds
&#13;
答案 1 :(得分:0)
一旦加载DOM并准备使用,就应该添加JS代码。像这样 -
$(document).ready(function(){
$('.card h3').css('color', color);
});
答案 2 :(得分:0)
<table>
<tr>
<td>First TR</td>
</tr>
<tr>
<td>Second TR</td>
</tr>
<tr>
<td>Third TR</td>
</tr>
<tr>
<td>Four TR</td>
</tr>
<tr>
<td>Fifth TR</td>
</tr>
</table>