#jquery
#jquery
Вопрос:
Я хочу использовать один и тот же класс для div, поскольку они служат одной и той же цели, хотя я не могу найти способ заставить его работать без вывода одинакового результата для обоих div.
JavaScript
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function divide(a, b) {
$(this).text(a " / " b);
}
</script>
HTML
<body>
<div class="division" ><script type="text/javascript">divide(3,7)</script>
</div>
<div class="division" ><script type="text/javascript">divide(12,75)</script>
</div>
</body>
Комментарии:
1. Похоже, ваш код вообще не работает: jsfiddle.net/mZbp7 Как вы думаете, что происходит, когда вы помещаете инструкцию JavaScript в
div
?2. Вот с чем мне нужна помощь, я подумал, что если однажды она будет вызвана, jQuery $ (this). , заменит ее текстом.
3. Вы просто вызываете функцию, как jQuery или JavaScript должны узнать, к какому элементу она относится? При вызове функции таким образом,
this
будет ссылаться на глобальный объект, который являетсяwindow
, он не ссылается ни на один элемент DOM. Возможно, вам нужно привести лучший пример, я не понимаю, почему вы просто не пишете3/7
и12/75
в каждомdiv
.4. Я не могу просто написать это, потому что мне нужно вызвать эти два параметра с сервера.
Ответ №1:
простой
http://jsbin.com/ubodeg/edit#javascript,html, live
и если вы хотите получить фактический результат :
Комментарии:
1. Вам не нужно
parseInt
, поскольку значения уже являются целыми числами. Вы также должны включить код сюда, imo.
Ответ №2:
В вашем примере просто напишите это
функция divide(a, b) { return (a » / » b); }
Комментарии:
1. Я сделал это, но, похоже, ничего не произошло?
2. Как это должно работать? Возвращаемое значение не задается волшебным образом как содержимое
div
файлов.
Ответ №3:
Вы могли бы изменить свою divide
функцию, чтобы возвращать строковый результат вместо того, чтобы пытаться использовать jQuery .text()
Вы также могли бы обновить свои divs, чтобы включить идентификаторы. Тогда внутри вашей функции вы могли бы сделать:
$('#' $(this).attr('id')).text(a " / " b);
Однако этот второй способ далек от идеи.
Ответ №4:
присвойте каждому div другой идентификатор и передайте его в свой метод divide(). Используйте идентификатор, чтобы различать divs
Комментарии:
1. Хотя мне нужно использовать классы.
2. Насколько я знаю, вы можете добавить класс и идентификатор к любому элементу
3. если мы присваиваем идентификатор каждому элементу, то зачем нам использовать классы ? 🙂