当不可用时,如何使用setAttribute?

发布于 2025-01-24 19:41:49 字数 1468 浏览 3 评论 0原文

我创建了使用 setAttribute 的代码,该代码正常,但是当我删除attr值时会出现问题。让我

在这里

解释一个用代码的示例

//var darkImage = document.querySelector('#darkroom1'); 

// (localStorage.getItem('mode')) === 'darkmode' ? darkImage.setAttribute('src', darkImage.getAttribute('data-dark')): darkImage.setAttribute('src', darkImage.getAttribute('data-normal'))

//I use local storage also to save that dark logo click


 $(".dark-toggle").click(function() {
 document.querySelector('#darkroom1').setAttribute("src", document.querySelector('#darkroom1').getAttribute("data-dark"));
 });
 
 // this code works fine but when I remove data-dark attribute then why src='null' error cause
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<img id='darkroom1' data-dark="https://ssl.gstatic.com/ui/v1/icons/mail/rfr/logo_gmail_lockup_dark_1x_r4.png" data-normal="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" height="73" src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" width="321"/>


<div class='dark-toggle'>Click Me</div>

此代码工作正常,但是当我删除数据向下属性时,为什么src ='null'错误原因是有任何解决方案,以便我们删除 data-dark =“” 当数据向下属性不可用时,代码应采用数据正态值

I have created code where I use setAttribute which works fine but the problem occurs when I remove the attr value. Let me explain an example with code

here is the code

//var darkImage = document.querySelector('#darkroom1'); 

// (localStorage.getItem('mode')) === 'darkmode' ? darkImage.setAttribute('src', darkImage.getAttribute('data-dark')): darkImage.setAttribute('src', darkImage.getAttribute('data-normal'))

//I use local storage also to save that dark logo click


 $(".dark-toggle").click(function() {
 document.querySelector('#darkroom1').setAttribute("src", document.querySelector('#darkroom1').getAttribute("data-dark"));
 });
 
 // this code works fine but when I remove data-dark attribute then why src='null' error cause
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<img id='darkroom1' data-dark="https://ssl.gstatic.com/ui/v1/icons/mail/rfr/logo_gmail_lockup_dark_1x_r4.png" data-normal="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" height="73" src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" width="321"/>


<div class='dark-toggle'>Click Me</div>

This code works fine but when I remove data-dark attribute then why src='null' error cause is there any solution available so that when we remove data-dark="" the code should take the data-normal value when data-dark attribute is not available

Any kind of help is highly appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

山有枢 2025-01-31 19:41:49

你可以这样做

$(".dark-toggle").click(function() {
  const target = $('#darkroom1');
  target.attr("src", 
    target.data("dark") 
    || target.data("normal"));
});

You can do like this

$(".dark-toggle").click(function() {
  const target = $('#darkroom1');
  target.attr("src", 
    target.data("dark") 
    || target.data("normal"));
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文