javascript - 使用 native javascript 选择 HTML 和 SCRIPT 标签及其数据属性?

标签 javascript jquery html custom-data-attribute jquery-1.9

<分区>

如何在不使用 jquery 的情况下选择 HTML 元素并获取其数据属性?

例如,我有这个带有一些数据属性的 html 标签,

<html xmlns="http://www.w3.org/1999/xhtml" class="no-js" data-directory='{"base_url":"http://localhost/mywebsite/","core_package":"base/","local_package":"base/"}'>

这是jquery的方式,

var directories = $('html').data('directory');

javascript的原生方式呢?

另外,如何选择脚本标签并获取其属性数据?

例如,我有这个脚本标签,

> <script
> data-main="http://localhost/mywebsite/local/view/javascript/base/main"
> src="http://localhost/mywebsite/core/view/javascript/base/ext/require/require.js"></script>

一种 jquery 方式,

var base_url = $('script[src$="require.js"]').attr('src').split(/\b(?:core|local)\b/)[0];

但我需要一种 javascript native 方式。可能吗?

最佳答案

使用 getElementsByTagName

1. .getAttribute("数据目录")

var directories = document.getElementsByTagName("html")[0].getAttribute("data-directory");

2. .src 或 .getAttribute("src") 的作用相同

var base_url=document.getElementsByTagName("script")[0].src.split(/\b(?:core|local)\b/)[0];

对于较新的浏览器 document.querySelector可以像 jQuery 选择器一样使用,如果页面上有多个脚本,这当然会更智能

var base_url=document.querySelector('script[src$="require.js"]').src.split(/\b(?:core|local)\b/)[0];

关于javascript - 使用 native javascript 选择 HTML 和 SCRIPT 标签及其数据属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21361449/

相关文章:

javascript - jQuery ResponsiveSlides - 如何使用 <ul> 中的最后一张图片启动 Slider

javascript - HTML表格中的隐藏行导致问题

javascript - onblur函数无法获取用户的输入

javascript - 空格键在表单字段中不起作用

html - 父 block 元素底部的额外空间

html - CSS 在悬停时将元素滑入页面

javascript - PhpStorm 2016.2 中 Node.js 的代码帮助

jquery - 如何用jquery改变onclick事件?

javascript - 如何将 Javascript 函数绑定(bind)到动态加载的 HTML

php - 输入类型 "file"在 iPad 上不起作用