Javascript 如何从html元素自动启动函数(this)

Javascript 如何从html元素自动启动函数(this),javascript,jquery,html,Javascript,Jquery,Html,所以我有一大堆: <div class="panel-heading" id="@l.restaurant.id"> 如您所见,每个DIV的ID都是函数将使用的变量。 例如,如果我这样做: <div class="panel-heading" id="@l.restaurant.id" onclick="fun(this)" > 当我单击DIV时,该函数可以工作,但我希望该函数在页面加载后立即启动,而不需要我做任何事情。您可以通过id获取元素,并在元素本身上


所以我有一大堆:

<div class="panel-heading" id="@l.restaurant.id">

如您所见,每个DIV的ID都是函数将使用的变量。 例如,如果我这样做:

<div class="panel-heading" id="@l.restaurant.id" onclick="fun(this)"  >


当我单击DIV时,该函数可以工作,但我希望该函数在页面加载后立即启动,而不需要我做任何事情。
您可以通过id获取元素,并在元素本身上运行您的
func

 fun(document.getElementById('@l.restaurant.id'))
如果使用jQuery,则可以在页面加载时执行此操作

 $(function(){
     fun(document.\getElementById('@l.restaurant.id'))
 })
这是绑定到文档onload的一种简单方法

 $(document).on('ready',function(){
        // Your code
 ])
例子 下面是一个在页面加载时单击的按钮示例。当用户单击按钮时,按钮的背景颜色需要页面更改为蓝色。确保这是自动发生的

功能乐趣(元素){
element.style.backgroundColor='blue'
}
$(函数(){
fun(document.getElementById('btn1'))
})

单击按钮以更改其颜色:
btn1

btn2
使用加载事件侦听器:)

window.addEventListener('load',function(){
//页面已加载;请调用您的函数

});如果需要加载
fun
all
panel heading
,请尝试

$(function() {
  $(".panel-heading").each(function() {
    fun(this);
  });
});

如果只需要在id中的餐厅的div上运行
fun
,请更改选择器-
$('.panel heading[id*=“restaurant”]')
$(function(){})
很短,我不能这样做,因为脚本部分不知道变量“l”。此外,我有一个循环@foreach(var l in@ViewBag.list),我不能为每个循环都创建一个函数。在这个例子中,你能在没有onclick事件的情况下直接为两个按钮创建一个有趣的(这个)功能吗?然后你可以使用jQuery*match。例如$('[id*=restaurant]').click()这是id包含
restaurant
的所有元素,您也可以通过执行以下操作来单击第一个
面板标题
类:$('.panel hading').first()?为什么需要
这个