2012-02-01 49 views
1

我在java-script中很糟糕,所以对于简单问题抱歉。 我有按钮,我需要调用它并采取(显示)一个id(数字),并在隐藏它之后。让元素Jquery回调

我有这行:

<div id="follow_21" class="button rounded" title="">Follow</div> 

我不知道该怎么称呼(的onclick)或其他方式这个按钮,只需要21,并显示在警报(“”);

我试过的onclick =“遵循():

<div onclick="follow(21)" class="button rounded" title="">Follow</div> 

和功能:

function follow(event){ 
    alert(event); 
} 

警报的作品不错,但我不知道如何通过点击它来隐藏()元。 假设你会帮我

回答

1

使用jQuery's hide function

<div id="follow_21" class="button rounded" title="" onclick="$(this).hide();">Folow</div> 

    or preferably something like: 

    <div id="follow_21" class="button rounded" title="">Folow</div> 
    <script type="text/javascript> 
     //Binds a click event to all divs that start with "follow_" 
     $('div[id^="follow_"]').click(function() { 
      $(this).hide(); 
      var idSplit = $(this).attr('id').split('_')[1]; 
      alert('Follow - ' + idSplit); 
     }); 
    </script> 
+0

21不是静态的,所以这里是调用它的问题...这里可能是1,312,1243,为什么我不怎么叫它 – Viktors 2012-02-01 23:23:30

+0

@ViktorsGolubevs我已经使解决方案更一般。是1,32,12,43是您正在使用的一段数据还是仅用于ID? – sinemetu1 2012-02-01 23:36:40

+0

谢谢!这个代码很好,你可以告诉如何在alert中调用ID-21吗?所以当我点击它显示我21和隐藏后。隐藏workds好,但有趣的如何赶上id? – Viktors 2012-02-01 23:45:07

1

你是在正确的道路上:

<div id="follow_21" onclick="follow(21)" class="button rounded" title="">Follow</div> 

function follow(id){ 
    document.getElementById('follow_' + id).style.display = 'none'; 
} 

或者更简单:

<div onclick="follow(this);" class="button rounded" title="">Follow</div> 

function follow(div){ 
    div.style.display = 'none'; 
} 

与jQuery和。点击()

<div id="follow_21" class="button rounded" title="">Follow</div> 

$('#follow_21').click(function() { 
    $(this).hide(); 
} 
+0

谢谢!你可以展示如何从.click中调用它(函数(),当然这是可能的。) – Viktors 2012-02-01 23:17:53

+0

@ViktorsGolubevs有你去^ :) – 2012-02-01 23:20:05

+0

21是用户ID,它可以改变,所以如果它的名字会改变因为我只看到onclick =“follow(21)?或者有可能做和调用.click(函数()如果id的最后部分不会是静态的 – Viktors 2012-02-01 23:22:47

1

onclick属性,this的意思是“这个元素”。所以,你可以通过this给你的函数:

HTML:

<div id="follow_21" onclick="follow(this)" class="button rounded" title="">Follow</div> 

JS:

function follow(el) { 
    el.style.display = 'none'; 
} 

虽这么说,你可以得到你的JS出你的HTML。这被认为是一件很好的事情。这对于jQuery非常简单,您可以完全删除onclick属性:

$('#follow_21').click(function() { 
    $(this).hide(); 
}); 
+0

$('#follow_21')。click(function()问题是21是一个用户id,它会改变,所以这只是一个问题,只能调用部分id?是否有可能? – Viktors 2012-02-01 23:20:34

+0

@ViktorsGolubevs Yes,'$ 'div [id^='follow _']“)'。然而,理想情况下,可以通过其他方式选择它,例如,通过元素的唯一类或者其父元素来进行选择,例如,如果它是唯一的''userinfo','$('#userinfo div').'点击...'的元素中的'div'可以工作。 – lonesomeday 2012-02-01 23:34:42