纯javascript,如何用的一个自定义属性获得此对象。

oHongZuoZuo123 2014-03-15 07:07:20

var id='123456'
var html = "<div data-id='"+id+"' class='Board wfc wft' style='position: absolute; left: "+new_pic_x+"px; top: "+new_pic_y+"px;'><a href='#' class='link x'><img src='http:\/\/img.hb.aicdn.com\/1b4344dca1732a9fcfbdb9f71263aaa8c8850dd834a2d-oMl40s_sq235' class='large'><div class='over '><h3>捧花的诱惑。<\/h3><h4><\/h4><div class='pin-count'>"+(pl_len+1).toString()+"<\/div></div></a><div class='FollowBoard2'><input type='checkbox' class='BoardAvatar' data-id='"+id+"'><span href='\/hiwedding\/' class='BoardUserUrl x'>花瓣婚庆<\/span><a data-id='"+id+"' href='#' class='follow btn wbtn'><strong>删除<\/strong><\/a><\/div>";


请问一下,我这个div没有id属性,有一个data_id的自定义属性。我怎么才能获取到这个对象啊

看了很多资料。都是必须有一个id属性,才能获得这个对象。

attributes:获取一个属性作为对象

getAttribute:获取某一个属性的值


var d = document.getElementById("id").attributes["data-id"];

都是类似这样的。可我的没有id属性

怎么能根据 data-id=‘123456’,直接获取到这个对象。

求大侠,大神们教育,小弟一下。


...全文
2161 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34577227 2016-05-26
  • 打赏
  • 举报
回复
我是小白,,,想问一下难道不可以用h5的属性选择器,或者是jquery的属性选择器来写么,,,虽然是过了这么久的问题,,,
zhjdg 2014-03-16
  • 打赏
  • 举报
回复
document.querySelectorAll("[data-id='ww']"); 加 #1 这样用可完蛋了。
xuzuning 2014-03-16
  • 打赏
  • 举报
回复
不好意思,手误 $('[data_id]’)
xuzuning 2014-03-16
  • 打赏
  • 举报
回复
所以,还是用 jq 就简单了: $('[data_id]) 你可以看 jq 的源码,看看他是如何做的
似梦飞花 2014-03-16
  • 打赏
  • 举报
回复
var eles=getElementsByTagName("*"); for(var i=0,len=eles.length;i<len;i++){ if(eles[i].getAttribute('data_id')='xxx'){ return eles[i] } }
螃蟹哥哥 2014-03-16
  • 打赏
  • 举报
回复
我呢个去,没id不能给他加个ID吗?难不成你是使用别人的网站
oHongZuoZuo123 2014-03-15
  • 打赏
  • 举报
回复
看来这个,自定义的东西,还是比较麻烦。我还是老老实实的ID算了。不自定义了,哈哈。
l676331991 2014-03-15
  • 打赏
  • 举报
回复
没有id不是还有class么?class不支持的,不是还有tagName吗?用已有的被支持的dom操作方法,获取到更大范围的元素集合(尽量把集合控制到最小),然后到集合中去筛选寻找符合你要求的那个节点便是了。
  • 打赏
  • 举报
回复
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>

window.onload=function()
{
	var aDiv=getElementByAttr('div','data-id','123456');//返回data-id为123456的div集合
	for(var i=0;i<aDiv.length;i++)
		aDiv[i].style.backgroundColor='#ccc';//
}
function getElementByAttr(tag,attr,value)
{
	var aElements=document.getElementsByTagName(tag);
	var aEle=[];
	for(var i=0;i<aElements.length;i++)
	{
		if(aElements[i].getAttribute(attr)==value)
			aEle.push( aElements[i] );
	}
	return aEle;
}
</script>
</head>

<body>
<div data-id="123456" class="box">测试</div>
<div data-id="123456" class="box">测试1</div>
</body>
</html>

87,907

社区成员

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

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