#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
Для jquery вы можете сделать что-то вроде этого: HTML:
<div class = "div" id="one"> <div>
<div class = "div" id="Two"> <div>
Jquery:
.onclick function for class .div
{
if ($('#one')) //is selected
{
do this
}
else if ($('#two'))
{
do this
}
Комментарии:
1. У вас есть реальная попытка или вы просто публикуете псевдокод
2. Почему бы вам не связать эти два элемента отдельно с чем-нибудь
$("#one").on('click', function(){});
?
Ответ №1:
Я думаю об этом
$('body').on('click','.test',function () {
if ( this.id === 'one' ) {
alert('Click one');
}
if ( this.id === 'two' ) {
alert('Click two');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div class="test" id="one">One</div>
<div class="test" id="two">Two</div>
</body>
Альтернативный
$('.test').click(function () {
if ( this.id === 'one' ) {
alert('Click one');
}
if ( this.id === 'two' ) {
alert('Click two');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div class="test" id="one">One</div>
<div class="test" id="two">Two</div>
</body>
Комментарии:
1. Я бы не хотел превращать свой bidy в onclick. Могу ли я просто присвоить обоим разделам одно и то же имя класса, а затем использовать функцию onclick с именем класса и использовать оператор if else, как у меня в op, выбирая определенные идентификаторы = true?
2. использование ‘$(‘.test’).onclick (…)` с тем же телом функции также будет работать
3. Да, спасибо, это именно то, что я хотел подтвердить
4. Сработало бы это, если бы у вас была оболочка div вокруг этих двух разделов? Например
5. Сработало бы это, если бы у вас был div, к которому вы добавили один из этих divs? Например, <div class = «добавить»></div><идентификатор div =»один»><div><идентификатор div =»два»><div>Затем в jquery сделайте что-то вроде: if ($(.append#one)) {сделай это} else if ($(.добавить #два)){сделай это}
Ответ №2:
Вы можете просто сделать
$('#one').click(function() {
//do this
});
$('#two').click(function() {
//do this
});
Если оба div
s имеют одинаковые class
$('.classname#one').click(function() {
//do this
});
$('.classname#two').click(function() {
//do this
});
Если вы хотите ограничить это значением div
s
$('div.classname#one').click(function() {
//do this
});
$('div.classname#two').click(function() {
//do this
});
Комментарии:
1. Ну, дело в том, что это связано с игрой. И их полномочия присоединения различаются. Итак, если конкретный противник находится, скажем, в div A, то ему нужно будет нанести x количество урона. То же самое для выбранного вами проигрывателя. Итак, я подумал о том, чтобы дать им одно и то же имя класса, но разные идентификаторы. Используйте имя класса для функции onlick и идентификаторы в операторе if, но будет ли это работать?
2. да,
if (this.id === '...')
внутри общего обработчика3. Если ваш документ содержит только один элемент с идентификатором
one
иtwo
, тогда да