有没有开发使用setAttribute而不是dot(.)属性表示法的最佳实践?
例如:
myObj.setAttribute("className", "nameOfClass");
myObj.setAttribute("id", "someID");
Run Code Online (Sandbox Code Playgroud)
要么
myObj.className = "nameOfClass";
myObj.id = "someID";
Run Code Online (Sandbox Code Playgroud) 我在这里有一些代码可以执行以下操作.代码创建一个元素"p"然后我将它附加到HTML中的"div".我想我刚刚创建的"p"具有唯一标识符(ID)并设置ID的名称.因此,稍后当用户想要删除最后创建的元素时,它将能够获取ID,因此它可以removeChild.这是代码:
JavaScript的:
var $ = function (id)
{
return document.getElementById(id);
}
function ShowResponse ()
{
var myResponse = $("myresponse").value;
var myPara = document.createElement("p");
var myDiv = $("mydiv");
myDiv.appendChild(myPara);
var myID = document.createElement("id");
myID.setAttribute("value", ID)
var myText = document.createTextNode(myResponse);
myPara.appendChild(myText);
}
function RemoveResponse ()
{
}
window.onload = function ()
{
$("showresponse").onclick = ShowResponse;
$("removeresponse").onclick = RemoveResponse;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<body>
<div id="mydiv">
<h1>Practice</h1>
<p>Hi There</p>
<p>How are you?</p>
<p>
<input type="text" id="myresponse">
<br><input type="button" id="showresponse" value="Show Response">
<input type="button" id="removeresponse" value="Remove …Run Code Online (Sandbox Code Playgroud) 我的目标是更改链接的"onclick"属性.我可以成功完成,但结果链接在ie8中不起作用.它确实在ff3中工作.
例如,这适用于firefox3,但不适用于ie8.为什么???
<p><a id="bar" href="#" onclick="temp()">click me</a></p>
<script>
doIt = function() {
alert('hello world!');
}
foo = document.getElementById("bar");
foo.setAttribute("onclick","javascript:doIt();");
</script>
Run Code Online (Sandbox Code Playgroud) 我有以下型号:
class Ticket(models.Model):
title = models.CharField()
merged_to = models.ForeignKey("self", related_name='merger_ticket', null=True, blank=True)
looser_ticket = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)
有几种操作模型的方法:
第一
ticket = Ticket.objects.get(pk=1)
ticket.title = "This is edit title"
ticket.merged_to_id = 2
ticket.looser_ticket = True
Run Code Online (Sandbox Code Playgroud)
第二
ticket = Ticket.objects.get(pk=1)
setattr(ticket, "title", "Edit Title")
setattr(ticket, "merged_to_id", 2)
setattr(ticket, "looser_ticket", True)
Run Code Online (Sandbox Code Playgroud)
当我操作这些东西时,在布尔值更新的视图中,第一种方法不起作用,但第二种方法有效.使用第一个和第二个之间有什么区别,什么时候应该使用它们?
谢谢!
我试图在角度js中动态地将属性添加到控制器中的div.
var table = document.getElementById("div_id").setAttribute("ng-click", "function_name()");
$scope.$apply();
Run Code Online (Sandbox Code Playgroud)
一切看起来都很好,在调试器中我看到该属性已添加但它不执行我的功能.您是否有任何想法如何将属性添加到现有div以及如何使其工作?
是否可以request.setAttribute在JSP页面上使用,然后在HTML Submit中获取相同的请求属性Servlet?
所以我正在学习操纵DOM,我注意到一件有趣的事情:
假设我想name使用"." 设置元素的属性.点符号:
element.name = "someName";
console.log(document.getElementsByName("someName")[0]); // returns "undefined"??
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用该document.setAttribute()方法,它可以正常工作:
element.setAttribute("name", "someName");
console.log(document.getElementsByName("someName")[0]); // returns the element like it should.
Run Code Online (Sandbox Code Playgroud)
不确定为什么点符号方法在第一种情况下不起作用.
为什么会这样?
我在按钮attributesTitle中添加了一些属性
let attr = NSMutableAttributedString(string: currTitle)
attr.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attr.length))
attr.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, attr.length))
currButton?.setAttributedTitle(attr, forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)
按钮点击后如何从中删除NSStrikethroughStyleAttributeName?
setattribute nsattributedstring ios nsmutableattributedstring swift
我确实读过每个stackoverflow线程关于在IE9中通过javascript动态更改视频标记源,包括有用但未商定的帖子在这里和这里,但确实感觉有另一个解决方案.这是我正在尝试做的非常基本的例子:
var video = document.getElementById('video');
//now, use either of the lines of code below to change source dynamically
video.src = "nameOfVideo";
//or use...
video.setAttribute("src", "nameOfVideo");
Run Code Online (Sandbox Code Playgroud)
这两行代码都被Internet Explorer彻底憎恨,特别是因为在使用简单的video.getAttribute进行检查后,src肯定会被更改,即使IE实际上没有做任何事情来切换视频.
是的,有人声称,使用IE,你必须在HTML中列出src,以便在页面加载后更改它们,但我确实在stackoverflow上找到了一个通过简单的JavaScript提出解决方案的线程.(令我失望的是,我再也找不到这样做的话......我到处搜寻,相信我).
尽管如此,如果有人能提供解决方案而不使用将所有视频src放在HTML中,而是使用JavaScript动态设置/创建src,如上所示,我将非常感激.
(或者,如果你可以指向我'缺少'溢出线程的方向,测试该属性是否存在于IE中,然后以某种方式通过javascript设置src,这也将被赞赏).
我有很多div与publish_0我想要改变的类publish_1点击一个按钮.
现在我使用它但它只改变一个项目.
如何将setattribute应用于具有该属性的所有项目publish_0.
document.querySelector('.publish_0').setAttribute("class", "publish_1");
Run Code Online (Sandbox Code Playgroud) setattribute ×10
javascript ×7
attributes ×2
angularjs ×1
django ×1
dom ×1
function ×1
html ×1
html5-video ×1
ios ×1
java ×1
java-ee ×1
onclick ×1
python ×1
setattr ×1
swift ×1