Вам нужно посмотреть пример Backgroundworker: http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx Особенно, как он взаимодействует с уровнем пользовательского интерфейса , Основываясь на вашей публикации, это, похоже, отвечает на ваши вопросы.
Во-первых, есть div
с идентификатором red
, и после нажатия на этот div он переключает id на green
, что происходит динамически, поэтому в этом случае мы используем делегирование события . Попробуйте следующий код -
jQuery(document).ready(function($) {
$(".parent").on('click', '#red', function() {
$(this).attr("id", "green");
});
$(".parent").on('click', '#green', function() {
$(this).attr("id", "red");
});
});
div {
margin: 0 auto;
width: 100px;
height: 100px;
}
#red {
background-color: red;
}
#green {
background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="parent">
<div id="red"></div>
</div>
изменить скрипт
$(document).on('click','#red',function() {
$('#red').attr("id", "green");
});
$(document).on('click','#green',function() {
$('#green').attr("id", "red");
});
Пожалуйста, попробуйте этот код:
<div id="wrapper">
<div id="red">
</div>
$("#wrapper").click(function() {
var e = $(this).find('div');
( e.attr('id')) == 'red' ? (e.attr('id', 'green')) : (e.attr('id', 'red')) ;
});