【发布时间】:2020-01-31 19:43:55
【问题描述】:
我有两个问题。
每个标签上的鼠标悬停应将该标签的颜色更改为黄色
我应该将随机数附加到 - Slucajan broj - (随机数是“broj”)。问题是:随机数应该比其他的大,颜色为红色。
我尝试过的一切,在我看来 JS 在replaceWith 行之后不接受任何东西。没有错误,但我不知道我的错误在哪里。
这是代码:
<html>
<head>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title> Jquery</title>
</head>
<body>
<style>
.obojeno= {
color: red;
size: 1.55em
}
</style>
<input type="text" name="prvi" id="prvi" value="Tag"></input>
<button type="button" id="ponisti" name="ponistavanje">Poništi</button>
<div class="prikazati"><br></div>
<hr>
<form id="unesi" action="#">
<input type="number" id="min" placeholder="min"></input>
<input type="number" id="max" placeholder="max"></input>
<button type="button" id="generisanje" name="generisi">Generiši</button>
<p id="slu"><b>Slucajan broj </b></p>
</form>
<script>
$('#slu').append('<b>[0-10]:</b>');
var brojac = 1;
var kopirati = $(`<div class="prikazati"></div>`);
$('#prvi').on('input', function(e) {
if (e.target.value === ' ') {
kopirati.clone().insertAfter('#ponisti').append('Tag' + brojac);
$('#prvi').val('');
brojac += 1;
}
});
$(document).on('click', '.prikazati', function() {
$(this).remove();
});
$('#ponisti').click(function() {
$('.prikazati').html('<br>');
brojac = 1;
});
$('#generisanje').click(function() {
var don = Number(document.getElementById('min').value);
var gor = Number(document.getElementById('max').value);
var broj;
broj = (Math.round(Math.random() * (gor - don + 1)) + don);
// $('#slu').replaceWith('<br> <br> Slucajan broj','['+ don + ' - ' + gor + ']: ');
$('#slu').each(function() {
var elemSlu = $(this);
elemSlu.replaceWith('<br> <br> Slucajan broj', '[' + don + ' - ' + gor + ']: ');
$('#slu').append(broj);
});
});
</script>
</body>
</html>
【问题讨论】:
-
不回答问题,但是:你的css样式无效,去掉类选择器和
{之间的= -
另外,CSS 类 obojeno 没有附加到任何东西,所以如果这是随机数的类,你需要修复它。然而,这里最大的问题是你的 replaceWith。它正在做这项工作,但没有做的工作是用新内容替换#slu 元素,所以当它归结为你要附加到#slu 元素的那一行时,它不起作用,因为你已经替换了那个元素,所以它不再存在了,所以代码什么都不做。您需要重做您在 $('#slu').each 函数中尝试执行的操作。
标签: javascript jquery css append