如何通过jQuery依据itemprop属性动态获取li元素内的属性值?
使用jQuery获取itemprop对应的属性值
没问题,这有几种实用的方法帮你快速拿到目标值:
方法1:直接通过itemprop属性定位
这是最直接的方式,针对你给出的HTML结构,我们可以直接选中带有itemprop="model"的<li>元素,再获取它内部的span文本:
// 获取model对应的值 const modelValue = $('li[itemprop="model"] .attribVal').text().trim(); console.log(modelValue); // 输出:32LJ573D
- 解释:
li[itemprop="model"]精准匹配拥有指定itemprop属性的li元素,.attribVal选中它下面的span标签,.text()提取文本内容,.trim()去除可能存在的首尾空白字符。
方法2:通过相邻标题关联定位(更鲁棒)
如果页面里有多个类似的规格列表,这种通过标题关联的方式会更稳妥,避免选错元素:
// 先找到文本为"Model"的标题li,再获取它的下一个兄弟元素里的内容 const modelValue = $('li.specHeading:contains("Model")').next().find('.attribVal').text().trim(); console.log(modelValue); // 输出:32LJ573D
- 解释:
li.specHeading:contains("Model")找到显示"Model"的标题项,.next()获取它的下一个兄弟元素(也就是带itemprop的li),最后用.find()定位到内部的span。
额外提示:增加存在性判断
为了避免元素不存在时出现错误,可以先检查元素是否存在:
const modelElement = $('li[itemprop="model"] .attribVal'); if (modelElement.length > 0) { const modelValue = modelElement.text().trim(); console.log(modelValue); } else { console.log("未找到对应的model元素"); }
内容的提问来源于stack exchange,提问作者Rohith P
相关产品推荐
相关产品推荐

