1

已经潜伏了一段时间,虽然找不到解决这个问题的方法,所以如果这是转发,请原谅,问题是,当我点击时,我想让我的 <'div> 可以点击它,他们返回 <'p> 内的字符串并将其分配给我的 Jscript 中的变量。尝试了几种方法..我真的需要帮助!

这是我的 JS 代码:

var userChoice = $('div#select').click(function(){ 
    $(this).effect('highlight' , { color: "rgba(36,117,203,0.6)" } , 'slow' , 500);
       userChoice = (this,'<div id="select"></div>');
       alert("Your choice:" + " " + userChoice);
});

这是html:

   <div class="rps"><p>Play Rock Scissors Paper!</p>
     <div id="select"><p>rock</p></div>
     <div id="select"><p>paper</p></div>
     <div id="select"><p>scissors</p></div>
     <div id="result"><p>result:</p></div>
   </div> 
4

3 回答 3

2

使用类而不是重复的 ID 并$(this).text()在您的 jQuery 函数中使用(如果每个 div 中有其他元素,您可以使用.children('p')or.find('p')代替):

$('.select').click(function(){ 
   $(this).effect('highlight' , { color: "rgba(36,117,203,0.6)" } , 'slow' , 500);
   $('#result').text('result: ' + $(this).text());
});

使用您的 HTML 为:

<div class="rps"><p>Play Rock Scissors Paper!</p>
   <div class="select"><p>rock</p></div>
   <div class="select"><p>paper</p></div>
   <div class="select"><p>scissors</p></div>
   <div id="result"><p>result:</p></div>
</div>

jsFiddle在这里。

于 2013-06-16T15:58:09.923 回答
0
  • 使用类。您的 HTML 必须是这样的:

    <div class="rps">
       <p>Play Rock Scissors Paper!</p>
       <div class="select">
        <p>rock</p>
       </div>
       <div class="select">
        <p>paper</p>
       </div>
       <div class="select">
        <p>scissors</p>
       </div>
      <div id="result">
        <p>result:</p>
      </div>
    

  • 您尝试在其中查找文本的方式p不起作用。一定是

    userChoice = $("p", this).text(); //find "p" inside this
    
  • 您的点击功能必须是这样的:

     $('.select').click(function () {
         $(this).effect('highlight', {
           color: "rgba(36,117,203,0.6)"
         }, 'slow', 500);
         userChoice = $("p", this).text();
         $("p","#result").text("result : "+ userChoice);
         alert("Your choice:" + " " + userChoice);
     });
    
  • 这是你的演示:http: //jsfiddle.net/hungerpain/KDm5W

于 2013-06-16T16:04:14.643 回答
0

您可以使用 jQuery .text() 函数:

$('div .select').click(function(){ 
    alert("Your choice:" + " " + $(this).text());   
    return $(this).text()  ;     
});

另外,请记住您只能使用一次 id,否则使用类。这是小提琴:

http://jsfiddle.net/tgWUX/

于 2013-06-16T16:10:31.067 回答