Javascript 查找属性是否在脚本标记内
我正在使用以下代码更新特定脚本内的标记属性值这是可行的,但是如果我在脚本中添加了一个属性名称,它将使用该名称创建一个新的属性,如何避免仅当属性存在时更新它,否则什么都不做 这是密码Javascript 查找属性是否在脚本标记内,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在使用以下代码更新特定脚本内的标记属性值这是可行的,但是如果我在脚本中添加了一个属性名称,它将使用该名称创建一个新的属性,如何避免仅当属性存在时更新它,否则什么都不做 这是密码 Content.find("#" + 'test-ui-boot').attr("src1", "test"); 这就是脚本示例 <script id="test-ui-boot" src="/tcore.js" data-aaa-ui-theme="bbb_val" src1="test" </sc
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>
当属性不存在时,返回undefined
if(typeof Content.find("#" + 'test-ui-boot').attr("src1") !== 'undefined')
{
Content.find("#" + 'test-ui-boot').attr("src1", "test");
}
我不知道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
z=document.getElementsByClassName('question-hyperlink')[0]
>>>
z、 getAttribute('href')
>>>>“/questions/36687960/find if属性位于脚本标记内”
z、 getAttribute('theAttributeThatDontExist')
>>>>空的
谢谢,我试过了,但我输入了错误的attr名称,比如src1,但仍然找到了它并进入if语句…有什么想法吗?更新了我的帖子。你必须在if
检查中添加typeof