Member 9361273 Ответов: 1

Код Javascript не работает в firefox старой версии, такой как 40.0 или ниже, но хорошо работает в firefox 41.0 или выше или в другом браузере


Я использую этот код:

var divs = document.getElementsByClassName("well-sm");
		for (var i = 0; i < divs.length; i++) {
			var div = divs[i];
			var span = div.getElementsByTagName("span")[0];
			if (span) {
				var strText = span.innerText;
				if(stringValue.toUpperCase() == strText.toUpperCase())
					{
						
							alert("Already exists!");
							return false;
						
					}
			}
		}



но этот код не может работать в firefox 40.0. но работает выше версии 40.0.
Он показывает этот тип ошибки:
TypeError: strText is undefined
но другой браузер или firefox 47.0 он не показывает эту ошибку типа.

Что я уже пробовал:

я просто заменить пролет.через свойство innerText, чтобы охватить.innerHTML будет

Karthik_Mahalingam

попробуйте с помощью jquery text() функция.

Member 9361273

я должен использовать javascript

Karthik_Mahalingam

хорошо, работает ли он с помощью jquery?
если да, то мы можем сделать обходной путь.

Member 9361273

я рад своей работе, когда используете jQuery.но мне нужно в JavaScript-решение

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

попробовать это

span.textContent



Поскольку jquery использует нижеприведенный фрагмент кода для получения текста из элементов селектора

 function (elem) {
    debugger;
	var node,
		ret = "",
		i = 0,
		nodeType = elem.nodeType;

	if ( nodeType ) {
		if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
			// Use textContent for elements
			// innerText usage removed for consistency of new lines (see #11153)
			if ( typeof elem.textContent === "string" ) {
				return elem.textContent;
			} else {
				// Traverse its children
				for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
					ret += getText( elem );
				}
			}
		} else if ( nodeType === 3 || nodeType === 4 ) {
			return elem.nodeValue;
		}
		// Do not include comment or processing instruction nodes
	} else {

		// If no nodeType, this is expected to be an array
		for ( ; (node = elem[i]); i++ ) {
			// Do not traverse comment nodes
			ret += getText( node );
		}
	}
	return ret;
};