Javascript 基于元素ID设置元素的数据属性

Javascript 基于元素ID设置元素的数据属性,javascript,jquery,html,css-selectors,getelementbyid,Javascript,Jquery,Html,Css Selectors,Getelementbyid,我正在尝试设置此元素的数据属性: <a class='btn-lg btn-success bg-primary' id='vsIDButton' data-toggle='modal' href='#messageModal' role='button' data-whatever=''>New Message</a> 我还尝试了StackOverflow中的jQuery函数: 我试过这两种方法: SetButton(v

我正在尝试设置此元素的数据属性:

<a
    class='btn-lg btn-success bg-primary'
    id='vsIDButton'
    data-toggle='modal'
    href='#messageModal'
    role='button'
    data-whatever=''>New Message</a>
我还尝试了StackOverflow中的jQuery函数:

我试过这两种方法:

SetButton(vSourceID); 

function SetButton() {
    $('#vsIDButton > data-whatever').html();
}
这是:

SetButton(vSourceID);

function SetButton(x) {
    $('#vsIDButton > data-whatever').html(x);
}
你可以这样做

    let vSourceID="contact:7573981724739861"; 
    document.getElementById("vsIDButton").setAttribute('data-whatever', vSourceID);
确保将唯一id用作vsIDButton

当您使用document.getElementById时,应该只向其传递id属性,在您的示例中,该属性是vsIDButton

然后,要设置数据属性,您可以使用或,具体取决于您需要支持的浏览器:

const vSourceID='联系人:757398172473861'; //使用setAttribute: getElementById'vsIDButton'。setAttribute'data-whatever',vSourceID; //使用数据集,您只需要一个或另一个: document.getElementById'vsIDButton'.dataset.whather=vSourceID; vsIDButton::before{ /* 这将显示数据属性的值 在a::before伪元素中,这样我们就可以很容易地看到 JS代码正在运行。 */ 内容:任何数据; }
元素的id是vsIDButton,因此这将是传递给.getElementById.@GetOffMyLawn的字符串,不需要限定id选择器,因为id无论如何都必须是唯一的。你想设置data Whather=还是想用这个替换文本New Message?Rohit-我想设置data Whather=我想OP想将data Whather属性设置为某个新值,而不是标记的内容。是的,我刚才问过了谢谢,伙计们-太快了!我出去散步回来了…-Rohit我尝试了你的两种解决方案,两种都很有效,谢谢。我现在可以摆脱很多文档编写!
    let vSourceID="contact:7573981724739861"; 
    document.getElementById("vsIDButton").setAttribute('data-whatever', vSourceID);
    SetButton(vSourceID);
    function SetButton(x) {
       $('#vsIDButton').attr('data-whatever',x);
    }