JQuery标签Span选择问题

iloveyoujia 2014-11-04 09:05:53
我有如下三个DIV:

<div class="md_rep_main" id="gd">
<span>A1</span>
<span>A2</span>
<span>A3</span>
</div>

<div class="md_rep_main" id="smart">
<span>B1</span>
<span>B2</span>
<span>B3</span>
</div>


<div class="md_rep_main" id="mstac">
<span>C1</span>
<span>C2</span>
<span>C3</span>
</div>


我想加一个事件,只能选择3个DIV的一个标签(做成单选),不知道怎么获取选择的值,如这么写的,还是获取不到。



$('#mstac').live('click', function () {
window.alert($(this).val());--选择的索引值也获取不到;
window.alert($(this).text()); --获取不到
window.alert($(this).find("span").eq($(this).val()).html()); --获取选择的值
});



希望哪位帮忙看看吧。搞不明白了。谢谢
...全文
310 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
iloveyoujia 2014-11-04
  • 打赏
  • 举报
回复
引用 7 楼 diaodiaop 的回复:
那还不如这样..

$(".md_rep_main").find("span").click(function(){
   var msg=$(this).html();
   alert(msg);
});
针对你所有的span都有效.. 而且 我还是搞不懂你到底要实现什么..
就是3个DIV,实现单选功能啊。 不知道为什么,你的代码不执行啊。 还能帮忙看看吗??
by_封爱 版主 2014-11-04
  • 打赏
  • 举报
回复
那还不如这样..

$(".md_rep_main").find("span").click(function(){
   var msg=$(this).html();
   alert(msg);
});
针对你所有的span都有效.. 而且 我还是搞不懂你到底要实现什么..
exception92 2014-11-04
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
[quote=引用 3 楼 iloveyoujia 的回复:] window.alert($(this).innerHtml()); 报错: 0x800a01b6 - JavaScript 运行时错误: 对象不支持“innerHtml”属性或方法
获取 选择的span值,应该这样吧

<div class="md_rep_main" >
     <span id="mstac">C1</span>
     <span id="mstac">C2</span>
     <span id="mstac">C3</span>
 </div>
[/quote] jQuery:

 $('#mstac').live('click', function () {
            window.alert($(this).html());
            window.alert($(this).text());
        });
exception92 2014-11-04
  • 打赏
  • 举报
回复
引用 3 楼 iloveyoujia 的回复:
window.alert($(this).innerHtml()); 报错: 0x800a01b6 - JavaScript 运行时错误: 对象不支持“innerHtml”属性或方法
获取 选择的span值,应该这样吧

<div class="md_rep_main" >
     <span id="mstac">C1</span>
     <span id="mstac">C2</span>
     <span id="mstac">C3</span>
 </div>
iloveyoujia 2014-11-04
  • 打赏
  • 举报
回复
引用 2 楼 diaodiaop 的回复:
$(this)表示mstac对象. 所以 1`他没有val (不是表单) 2`text应该是空的. ..改成html就可以得到<span........ 3`同1 没有val 所以这个地方谈不出来.如果你手动修改eq(0)就可以弹出C1

  $("#mstac").click(function () {
            window.alert($(this).html());
        });
--你得到的是所有值啊,不是当前选择的值;你这么做的结果就是: <span>C1</span> <span>C2</span> <span>C3</span> 我想选择C2就获取C2的值,选择C3就获取C3的值。
iloveyoujia 2014-11-04
  • 打赏
  • 举报
回复
window.alert($(this).innerHtml()); 报错: 0x800a01b6 - JavaScript 运行时错误: 对象不支持“innerHtml”属性或方法
by_封爱 版主 2014-11-04
  • 打赏
  • 举报
回复
$(this)表示mstac对象. 所以 1`他没有val (不是表单) 2`text应该是空的. ..改成html就可以得到<span........ 3`同1 没有val 所以这个地方谈不出来.如果你手动修改eq(0)就可以弹出C1
exception92 2014-11-04
  • 打赏
  • 举报
回复
应该是innerHtml() 吧??
iloveyoujia 2014-11-04
  • 打赏
  • 举报
回复
引用 7 楼 diaodiaop 的回复:
那还不如这样..

$(".md_rep_main").find("span").click(function(){
   var msg=$(this).html();
   alert(msg);
});
针对你所有的span都有效.. 而且 我还是搞不懂你到底要实现什么..
哈哈,在你的帮助下,我终于解决了。非常感谢。还有一个下问题,马上就结贴。 我怎么给选中的SPAN加样式呢? 当前选中的有颜色,其它都没有样式。谢谢。 $(".md_rep_main").find("span").click(function(){ $(this).addClass("act");--添加选中的 }); 如何去掉这些"md_rep_main" 没选中的样式呢?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧