var imgStr = "<p><img src='http://www.baidu.com/FpmF-JifNksQTHo7InP_LMukbtWc'/></p>"
//解析富文本获取img里面的src属性值
var patt = /<img[^>]+src=['"]([^'"]+)['"]+/g
var result = [],
temp
while ((temp = patt.exec(imgStr)) != null) {
result.push({'url':temp[1]})
}
console.log(result) //http://www.baidu.com/FpmF-JifNksQTHo7InP_LMukbtWc
二、获取指定元素属性值
function getDomAttr(str,tag,attr) {
// const val = /(?<=data-value=").*?(?=")/
var patt = `/<${tag}[^>]+${attr}=['"]([^'"]+)['"]+/g`
let temp = patt.exec(str)
// console.log('str.match(val)', temp)
return temp[1]
}
js获取html元素的方式
+通过ID获取:getElementById('id属性值')
+通过标签名:getElementsByTagName('标签名')
+通过类名:getElementsByClassName('类名')
+通过name属性:getElementsByName('name属性值')
+通过选择器获取一个元素:querySelector
+通过选择器获取一组元素:querySelectorAll
1.获取id值为d1的html元素
将获取到的html元素称为DOM节点对象,必须传参数,参数是string类型,是获取元素的id。返回值只获取到一个元素,没有找到返回null。
2.通过标签名:getElementsByTagName('标签名')
参数是是获取元素的标签名属性,不区分大小写,根据标签名获取html元素, 返回的是一个数组(伪数组)
通过类名:getElementsByClassName('类名')
参数是元素的类名,返回值是一个类数组,没有找到返回空数组。
通过类名:getElementsByClassName('类名')
必须传参数,参数是是获取元素的name属性,返回值是一个类数组,没有找到返回空数组。
通过选择器获取一个元素:querySelector
参数是选择器,返回值只获取到第一个元素。
通过选择器获取一组元素:querySelectorAll
参数是选择器,返回值是一个数组。
根据你的需求,举例如下:
document.querySelector:获取首个(单个)符合条件元素
document.querySelector('.name') //获取页面上首个class属性中包含name的元素。document.querySelectorAll:获取全部符合条件元素
document.querySelectorAll('.name') //获取页面上全部class属性中包含name的元素。