jquery 根据DIV内容 怎么得到DIV的ID

JonGrein 2012-03-30 05:58:43
比如
<div id="code1">中国</div>
<div id="adeg">美国</div>
<div id="dg3g">英国</div>
<div id="gjr4">德国</div>
<div id="bkjt">法国</div>
我要怎么根据“德国”得到其相应的id=gjr4 ?
...全文
306 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
JonGrein 2012-03-31
  • 打赏
  • 举报
回复
问题已解决,多谢楼上朋友的代码。
其实我的页面时代码时这样的。
<div id="top"
<div id="code1">中国</div>
<div id="adeg">美国</div>
<div id="dg3g">英国</div>
<div id="gjr4">德国</div>
<div id="bkjt">法国</div>
</div>
这样得到的数据就是 array[0]="top",array[1]=gjr4
原来 在外部套一个DIV 也会在这里影响到 $("div[id]:contains('德国')");
所以我要的ID 永远都只会在这个数组的第2个下标值。
zell419 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

试过 你这种方法了 得到的ID 是""
[/Quote]
我这里能得到gjr4


[Quote=引用 4 楼 的回复:]

我页面上有很多这种div 遍历的话有可能会上千次。所以遍历不可取。就是想找一种不用遍历的。
[/Quote]
这个应该只能用循环遍历 。
原生的话就
document.getElementById
document.getElementsByName
document.getElementsByTagName
获取元素 。
吉普赛的歌 社区高级成员 T9 2012-03-31
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="ec/jquery/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
function test(only) {
var $objs = $("div[id]:contains('德国')");
var arr = [];
$objs.each(function () {
if (only && $(this).text().length > 2)
return false;
arr.push($(this).attr("id"));
});
alert(arr);
}
</script>
</head>
<body>
<div id="code1">中国</div>
<div id="adeg">美国</div>
<div id="dg3g">英国</div>
<div id="gjr4">德国</div>
<div id="bkjt">法国</div>
<div id="Div1">德国1</div>
<div id="Div2">德国2</div>
<div id="Div3">德国3</div>
<div id="Div4">德国4</div>
<input type="button" value="取得包含德国的 div 的id" onclick="test(false)" />
<input type="button" value="取得只包含德国的 div 的id" onclick="test(true)" />
</body>
</html>


至于遍历的问题, 你不用置疑楼上的说法。 jquery只是一个工具, 不是神仙。木乃伊包装成美女了, 本质还是木乃伊
wzhiyuan 2012-03-30
  • 打赏
  • 举报
回复
用jquery 选择符写的再简洁,本质上也是遍历,jquery是用来提高程序员效率的,不是提高运行效率的
而且运行几知次的遍历就是毫秒级。
参考一下这个
http://topic.csdn.net/u/20120327/14/2efcc425-dcf8-429d-bc3d-8366e324b354.html
JonGrein 2012-03-30
  • 打赏
  • 举报
回复
我页面上有很多这种div 遍历的话有可能会上千次。所以遍历不可取。就是想找一种不用遍历的。
wzhiyuan 2012-03-30
  • 打赏
  • 举报
回复
笨方法遍历吧

$("div").each(function() {
if($(this).html()=="德国"){alert($(this).attr("id"))}
});
JonGrein 2012-03-30
  • 打赏
  • 举报
回复
试过 你这种方法了 得到的ID 是""
zell419 2012-03-30
  • 打赏
  • 举报
回复
try : $("div:contains('德国')").eq(0).attr("id");

但是contains不是精确匹配 。

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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