0

我现在正在寻找很多时间,寻找一种非常简单有效的方法来通过单击 javascript(不是 jQuery)中的按钮来分配函数。

我遇到的问题是: 1.有时 dom 尚未创建,并且 javascript 函数中有未定义的变量。2.我不能以正确的方式将属性传递给这个函数。

所以baically我有这些:

<div class="container">
    <button type=button class="click">Click</button>

    <div class="smallContainer">
        <img src="source.com" class="myimage">
        <div class="data"> some data</div>
    </div>
</div>

<div class="container">
    <button type=button class="click">Click</button>

    <div class="smallContainer">
        <img src="source.com" class="myimage">
        <div class="data"> other data</div>
    </div>
</div>


<div class="container">
    <button type=button class="click">Click</button>

    <div class="smallContainer">
        <img src="source.com" class="myimage">
        <div class="data"> usefull data</div>
    </div>
</div>


for (){ assign in each button the onclick function}

function onclick(){
        here i want to change the opacity of the image by the class "myimage",
        take the innerHTML of the div by the class "data" and do something to it(maybe i ll send an ajax request in this function also)
    }

所以我需要一个 for 循环或其他东西(可能在 javascript 文件中),它将分配给这个函数的所有按钮。每次单击按钮时,我都需要知道哪个按钮是哪个按钮以及“数据”类的 div 里面有什么功能。

我尝试了很多方法,每一种都有问题。任何人都可以提供一个简单的工作解决方案吗?

谢谢

4

2 回答 2

1

既然您提到您不具备使用纯 JavaScript 执行此简单操作的技能,那么是时候将 jQuery 添加到您的工具箱中了。

这是您需要的所有代码

 $function() { // when the page is ready
   $(".click").on("click", function(e) { // assign a function to ALL class="click" 
     var id = this.id; // or $(this).attr("id"); - if you need the button's ID
     var divContent = $(this).parents().find(".data").html()
     $.get("someserver.php",{"id":id,"parm":divContent},function(data) {
       alert(data);//  from server
     });
   });
 });
于 2013-02-10T15:36:57.033 回答
-2

尝试使用 jquery 库:) 与那个 yoy 可以做类似的代码

<script>
$(".data").click(function(){
  var class_value = $(this).html();
})
</script>

如您所见,该函数将应用于所有具有“数据”类的元素

于 2013-02-10T15:23:33.590 回答