Я хочу запустить общую функцию javascript с элементом, иногда несколькими элементами в том же документе HTML. Мне кажется, что самый простой способ - вызвать функцию изнутри элемента DOM. Хорошо, вот в чем проблема. «this» относится к элементу окна, и я видел, как область действия работает для функций, использующих «это», но я не вижу, как получить «это», чтобы ссылаться на элемент.Передача элемента DOM функции javascript
Я мог бы сделать getElementById, но я хочу довольно общий javascript и не должен придумывать уникальные идентификаторы каждый раз, когда я хочу его использовать. getElementsByClasses может быть обходным путем, но кажется, что должен быть более простой способ сделать это, не полагаясь на id или классы.
HTML-
</HEAD>
<BODY>
<div id="content">
<div class="linksbox">
<a href="https://www.corponline.org" target="_blank">
<div class="linkicon">
<img src="asislink.jpg">
</div>
</a>
<div class="linkblurb">
<h2>National</h2>
<p>Description of link</p>
</div>
<script>valignimg();</script>
</div>
</div> <!-- End content -->
</BODY>
</HTML>
JavaScript. Это dh и ih, что мне нужно перейти к функции.
function valignimg() {
dh = /* div element */
ih = /* image (child element) */
topmargin = (dh.offsetHeight - ih.offsetHeight)/2;
return topmargin;
}
Это то, что идентификаторы для фактически. Чтобы использовать элементы в js-коде –
Я задал вопрос 3 раза, но не знаю, чего вы хотите достичь ... но я угадаю. Думаю, вы могли бы использовать onload = "" для запуска некоторых JS для каждого элемента, но это просто уродливо. Почему бы не использовать классы? – Tom
У вас есть jQuery на странице? – MaxZoom