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]
}
代码如下:
这细微的差别就会影响到程序的结果。
代码如下:
这些颜色不仅作用于那些直接包含在<body>标签里的内容,还将作用于嵌套在body元素内的所有元素。
id属性就像一个挂钩,它一头连着文档里的某个元素,另一头连着CSS样式表里的某个样式。
document.getElementById("purchases")这个调用将返回一个对象,这个对象对应着document对象里的一个独一无二的元素,那个元素的的id属性值为purchases。其实,文档中的每个元素都是一个对象。利用DOM提供的方法能够得到任何一个对象。getElementsByTagName返回一个数组,即使整个文档里只有一个元素,也返回一个数组。
示例:
显示信息都是object,getElementByClassName也返回一个具有相同类名的元素数组,获取和设置属性getAttribute object.getAttribute(attribute)。
注:getAttribute方法不属于document对象,它只能通过元素节点对象调用。
例子:
改成w=w.offsetWidthjs获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。
第二种情况就是宽和高是写在行内中,比如style="width:120px",这中情况通过上述2个方法都能拿到宽度。
小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过id.style.atrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。