Javascript-在按钮下设置span的innerHTML
我有一个DOM,它在运行时由插件(部分)设置,所以我不能完全控制它。我在HTML中创建的初始对象是一个Javascript-在按钮下设置span的innerHTML,javascript,jquery,html,Javascript,Jquery,Html,我有一个DOM,它在运行时由插件(部分)设置,所以我不能完全控制它。我在HTML中创建的初始对象是一个对象,插件引导选择将创建为同级对象。这个又有一个子元素(也是由插件创建的)。就是这个元素,我想更改它的文本 我还改变了按钮本身的背景色,这很有效。我只需要在函数中添加一两行来更新span的文本,就可以了 下面是DOM相关部分的屏幕截图(灰色部分是我必须设置的): 这是我的密码。这本书最初是为了设置按钮的背景色,在某种程度上它可以正常工作。我只需要展开它来设置文本: function setCo
对象,插件引导选择将
创建为同级对象。这个
又有一个子
元素(也是由插件创建的)。就是这个
元素,我想更改它的文本
我还改变了按钮本身的背景色,这很有效。我只需要在函数中添加一两行来更新span的文本,就可以了
下面是DOM相关部分的屏幕截图(灰色部分是我必须设置的):
这是我的密码。这本书最初是为了设置按钮的背景色,在某种程度上它可以正常工作。我只需要展开它来设置文本:
function setColorForSelect(elem, col) {
// this will change the background color of the <select> object just changed to match the selection
// this is necessary because bootstrap-select imposes a complex DOM structure on the <select> item
// (there is a <button> that is what is being displayed, so that is the object whose background color needs
// to be changed, not the <select> object itself)
$(elem).siblings().each(function() {
var _this = $(this);
if(_this.is(":button")){
_this.css('background-color', col);
$(this).children(":first").innerHTML = col; //<-- THIS IS THE LINE THAT DOESN'T WORK!
return false;
}
});
}
函数setColorForSelect(元素、列){
//这将更改刚刚更改的对象的背景色以匹配选择
//这是必要的,因为引导选择将复杂的DOM结构强加给项
//(有一个是正在显示的对象,因此该对象的背景色需要
//要更改,而不是对象本身)
$(elem).同级().each(function()){
var_this=$(this);
如果(_this.is(“:button”)){
_css('background-color',col);
$(this).children(“:first”).innerHTML=col;//使用此语法
在按钮中找到第一个跨距并更改其文本
$(this).find(“span:eq(0)”).text(col);
或
按特定类查找范围并更改其文本
$(this.find(“span.filter选项”).text(col);
还有两种其他方法。我想其他答案中已经指出了这些方法。没有错误的原因是您刚刚将col
值分配给jQuery对象上的innerHTML
属性
使用jQuery为其对象提供的html
函数
.children(":first").html(col);
或者使用jQuery提供的text
函数
.children(":first").text(col);
或者通过访问本机元素来使用本机JavaScript api
.children(":first")[0].innerHTML = col;
或者使用getter jQuery提供的获取本机元素,然后使用本机API
.children(":first").get(0).innerHTML = col
再来一个
你也可以这样做:
$('span:first',this).text(col);//
希望能有所帮助!我认为你的第二个想法奏效了。我可以看到文本改变了一秒钟左右,然后又恢复到第0个标记中的文本。还有一些事情正在发生,所以我必须继续挖掘,但我认为你的答案是正确的,因为它与我的问题有关。谢谢你!@Randall,但我认为你不是走这条路必须仔细阅读插件文档,找出将值设置为跨度的方法。我确信插件将具有该功能。你所尝试的都是一个解决方案。请保留此选项。我一直在搜索,但在他们的文档中找不到任何内容。我能找到的最好的东西是这篇文章,它是ally建议像我现在这样遍历DOM树。有道理。谢谢!