Javascript JQuery未设置';文本内容';在版本1.7.1中
我有下面的代码,为HTML中的元素设置目标href&textcontent,这在JQuery 1.4.1和1.5.1中运行得非常好,但在更新到1.7.1后,它不会更改可见元素的“textcontent”属性,href已被更新Javascript JQuery未设置';文本内容';在版本1.7.1中,javascript,jquery,Javascript,Jquery,我有下面的代码,为HTML中的元素设置目标href&textcontent,这在JQuery 1.4.1和1.5.1中运行得非常好,但在更新到1.7.1后,它不会更改可见元素的“textcontent”属性,href已被更新 $("#uriEmma").attr('textcontent', emmaUri); $("#uriEmma").attr('href', emmaUri); $("#uriEmma").attr('target', '_blank'); 你知道为什么会这样吗?你
$("#uriEmma").attr('textcontent', emmaUri);
$("#uriEmma").attr('href', emmaUri);
$("#uriEmma").attr('target', '_blank');
你知道为什么会这样吗?你应该使用合适的大小写:textContent
从文件:
属性和属性之间的差异在应用程序中可能很重要
具体情况。在jQuery1.6之前,有时使用.attr()方法
检索某些属性时考虑了属性值,
这可能会导致不一致的行为。从jQuery1.6开始,.prop()
方法提供了一种显式检索属性值的方法,而
.attr()检索属性
您应该使用适当的大小写:textContent
从文件:
属性和属性之间的差异在应用程序中可能很重要
具体情况。在jQuery1.6之前,有时使用.attr()方法
检索某些属性时考虑了属性值,
这可能会导致不一致的行为。从jQuery1.6开始,.prop()
方法提供了一种显式检索属性值的方法,而
.attr()检索属性
.prop(propertyName)
属性和属性之间的差异在特定情况下可能很重要在jQuery 1.6之前,在检索某些属性时,.attr()
方法有时会考虑属性值,这可能会导致不一致的行为。从jQuery1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()
则检索属性
例如,selectedIndex
、tagName
、nodeName
、nodeType
、ownerDocument
、defaultChecked
和defaultSelected
都应该被检索并使用.prop()
方法进行设置在jQuery 1.6之前,这些属性可以通过.attr()
方法检索,但这不在attr的范围内。这些属性没有相应的属性,只是属性。.prop(propertyName)
属性和属性之间的差异在特定情况下可能很重要在jQuery 1.6之前,在检索某些属性时,.attr()
方法有时会考虑属性值,这可能会导致不一致的行为。从jQuery1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()
则检索属性
例如,
selectedIndex
、tagName
、nodeName
、nodeType
、ownerDocument
、defaultChecked
和defaultSelected
都应该被检索并使用.prop()
方法进行设置在jQuery 1.6之前,这些属性可以通过.attr()
方法检索,但这不在attr的范围内。这些属性没有相应的属性,只是属性。textContent
是DOM属性,而不是HTML属性
在较旧版本的jQuery中,如果字符串大小写与元素上的匹配属性相同,则attr()
函数几乎总是映射到属性。这在jQuery1.6中发生了变化(这是正确的),因此现在attr()
几乎完全映射到setAttribute
,并且引入了新函数来设置包装元素的属性
除了使用prop()
,您还需要确保套管正确。JavaScript和DOM属性使用驼峰式大小写,并以小写字母开头。因此,您需要使用textContent
,而不是textContent
以下是在jQuery 1.6+中设置属性的几种方法:
// Set the first element's `textContent`
$("#someEl")[0].textContent = "test";
// Set every element's textContent
$("#someEl").prop('textContent', "test");
// Set every element's text, mapping to innerText in older browsers:
$("#someEl").text("test");
//设置第一个元素的`textContent`
$(“#someEl”)[0].textContent=“test”;
//设置每个元素的文本内容
$(“someEl”).prop('textContent',“test”);
//设置每个元素的,在旧浏览器中映射到innerText:
$(“#someEl”).text(“测试”)代码>
注意:如果您想支持IE 8及更低版本,您需要使用或进行适当的测试,以使用innerText
而不是textContent
textContent
是DOM属性,而不是HTML属性
在较旧版本的jQuery中,如果字符串大小写与元素上的匹配属性相同,则attr()
函数几乎总是映射到属性。这在jQuery1.6中发生了变化(这是正确的),因此现在attr()
几乎完全映射到setAttribute
,并且引入了新函数来设置包装元素的属性
除了使用prop()
,您还需要确保套管正确。JavaScript和DOM属性使用驼峰式大小写,并以小写字母开头。因此,您需要使用textContent
,而不是textContent
以下是在jQuery 1.6+中设置属性的几种方法:
// Set the first element's `textContent`
$("#someEl")[0].textContent = "test";
// Set every element's textContent
$("#someEl").prop('textContent', "test");
// Set every element's text, mapping to innerText in older browsers:
$("#someEl").text("test");
//设置第一个元素的`textContent`
$(“#someEl”)[0].textContent=“test”;
//设置每个元素的文本内容
$(“someEl”).prop('textContent',“test”);
//设置每个元素的,在旧浏览器中映射到innerText:
$(“#someEl”).text(“测试”)代码>
注意:如果您想支持IE 8及更低版本,您需要使用或进行适当的测试,以使用innerText
而不是textContent