我使用以下代码更新特定脚本标记属性值这是有效的,但是如果我放置一个不在脚本中的属性名称,它将创建一个具有此名称的新属性,如何为了避免这种情况,只要属性存在就更新它,否则什么都不做
这是代码
Content.find("#" + 'test-ui-boot').attr("src1", "test");
这是脚本,例如
<script id="test-ui-boot" src="/tcore.js" data-aaa-ui-theme="bbb_val" src1="test" </script>
我使用JQuery解析器,如何在执行此代码之前检查属性是否存在
答案 0 :(得分:1)
attr()
返回undefined
if(typeof Content.find("#" + 'test-ui-boot').attr("src1") !== 'undefined')
{
Content.find("#" + 'test-ui-boot').attr("src1", "test");
}
答案 1 :(得分:1)
我不了解jQuery,但在纯JavaScript中,如果属性不存在,函数.getAttribute()
将返回null
。例如。你可以在这个页面上运行以下内容:
z = document.getElementsByClassName('question-hyperlink")[0]
>>> <a class="question-hyperlink" href="/questions/36687960/find-if-attribute-is-inside-the-script-tag">
z.getAttribute('href')
>>>> "/questions/36687960/find-if-attribute-is-inside-the-script-tag"
z.getAttribute('theAttributeThatDontExist')
>>>> null